
// Copyright (C) 2009-2011 Luca Piccioni
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;

#pragma warning disable 1572, 1573

namespace Derm.OpenGL {

	/// <summary>
	/// Implementation of the OpenGL specification 
	/// </summary>
	public unsafe partial class Gl : ProcLoader
	{

		/// <summary>
		/// Binding for glActiveVaryingNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.String"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void ActiveVaryingNV(UInt32 program, string name) {
			if      (Delegates.pglActiveVaryingNV != null)
				Delegates.pglActiveVaryingNV(program, name);
			else
				throw new InvalidOperationException("binding point ActiveVaryingNV cannot be found");
			LogProc("glActiveVaryingNV({0}, {1})", program, name);
		}

		/// <summary>
		/// Binding for glAreProgramsResidentNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// <param name="residences">
		/// A <see cref="T:System.Boolean*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool AreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] bool[] residences) {
			bool retvalue;
			unsafe {
				fixed (UInt32* fp_programs = programs)
				fixed (bool* fp_residences = residences)
				{
					if      (Delegates.pglAreProgramsResidentNV != null)
						retvalue = (Delegates.pglAreProgramsResidentNV(n, fp_programs, fp_residences));
					else
						throw new InvalidOperationException("binding point AreProgramsResidentNV cannot be found");
				}
			}
			LogProc("glAreProgramsResidentNV({0}, {1}, {2}) = {3}", n, programs, residences, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glAreProgramsResidentNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="residences">
		/// A <see cref="T:System.Boolean*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] bool[] residences) {
			bool retvalue;
			unsafe {
				fixed (bool* fp_residences = residences)
				{
					if      (Delegates.pglAreProgramsResidentNV != null)
						retvalue = (Delegates.pglAreProgramsResidentNV(n, programs, fp_residences));
					else
						throw new InvalidOperationException("binding point AreProgramsResidentNV cannot be found");
				}
			}
			LogProc("glAreProgramsResidentNV({0}, {1}, {2}) = {3}", n, "programs", residences, retvalue);
			return (retvalue);
		}
		

		/// <summary>
		/// Binding for glBeginConditionalRenderNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="mode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		public static void BeginConditionalRenderNV(UInt32 id, int mode) {
			if      (Delegates.pglBeginConditionalRenderNV != null)
				Delegates.pglBeginConditionalRenderNV(id, mode);
			else
				throw new InvalidOperationException("binding point BeginConditionalRenderNV cannot be found");
			LogProc("glBeginConditionalRenderNV({0}, {1})", id, mode);
		}

		/// <summary>
		/// Binding for glBeginOcclusionQueryNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void BeginOcclusionQueryNV(UInt32 id) {
			if      (Delegates.pglBeginOcclusionQueryNV != null)
				Delegates.pglBeginOcclusionQueryNV(id);
			else
				throw new InvalidOperationException("binding point BeginOcclusionQueryNV cannot be found");
			LogProc("glBeginOcclusionQueryNV({0})", id);
		}

		/// <summary>
		/// Binding for glBeginTransformFeedbackNV function.
		/// </summary>
		/// <param name="primitiveMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void BeginTransformFeedbackNV(int primitiveMode) {
			if      (Delegates.pglBeginTransformFeedbackNV != null)
				Delegates.pglBeginTransformFeedbackNV(primitiveMode);
			else
				throw new InvalidOperationException("binding point BeginTransformFeedbackNV cannot be found");
			LogProc("glBeginTransformFeedbackNV({0})", primitiveMode);
		}

		/// <summary>
		/// Binding for glBeginVideoCaptureNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void BeginVideoCaptureNV(UInt32 video_capture_slot) {
			if      (Delegates.pglBeginVideoCaptureNV != null)
				Delegates.pglBeginVideoCaptureNV(video_capture_slot);
			else
				throw new InvalidOperationException("binding point BeginVideoCaptureNV cannot be found");
			LogProc("glBeginVideoCaptureNV({0})", video_capture_slot);
		}

		/// <summary>
		/// Binding for glBindBufferBaseNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void BindBufferBaseNV(int target, UInt32 index, UInt32 buffer) {
			if      (Delegates.pglBindBufferBaseNV != null)
				Delegates.pglBindBufferBaseNV(target, index, buffer);
			else
				throw new InvalidOperationException("binding point BindBufferBaseNV cannot be found");
			LogProc("glBindBufferBaseNV({0}, {1}, {2})", target, index, buffer);
		}

		/// <summary>
		/// Binding for glBindBufferOffsetNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="offset">
		/// A <see cref="T:System.IntPtr"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void BindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset) {
			if      (Delegates.pglBindBufferOffsetNV != null)
				Delegates.pglBindBufferOffsetNV(target, index, buffer, offset);
			else
				throw new InvalidOperationException("binding point BindBufferOffsetNV cannot be found");
			LogProc("glBindBufferOffsetNV({0}, {1}, {2}, {3})", target, index, buffer, offset);
		}

		/// <summary>
		/// Binding for glBindBufferRangeNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="offset">
		/// A <see cref="T:System.IntPtr"/>.
		/// </param>
		/// <param name="size">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void BindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, UInt32 size) {
			if      (Delegates.pglBindBufferRangeNV != null)
				Delegates.pglBindBufferRangeNV(target, index, buffer, offset, size);
			else
				throw new InvalidOperationException("binding point BindBufferRangeNV cannot be found");
			LogProc("glBindBufferRangeNV({0}, {1}, {2}, {3}, {4})", target, index, buffer, offset, size);
		}

		/// <summary>
		/// Binding for glBindProgramNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void BindProgramNV(int target, UInt32 id) {
			if      (Delegates.pglBindProgramNV != null)
				Delegates.pglBindProgramNV(target, id);
			else
				throw new InvalidOperationException("binding point BindProgramNV cannot be found");
			LogProc("glBindProgramNV({0}, {1})", target, id);
		}

		/// <summary>
		/// Binding for glBindTransformFeedbackNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void BindTransformFeedbackNV(int target, UInt32 id) {
			if      (Delegates.pglBindTransformFeedbackNV != null)
				Delegates.pglBindTransformFeedbackNV(target, id);
			else
				throw new InvalidOperationException("binding point BindTransformFeedbackNV cannot be found");
			LogProc("glBindTransformFeedbackNV({0}, {1})", target, id);
		}

		/// <summary>
		/// Binding for glBindVideoCaptureStreamBufferNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="frame_region">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="offset">
		/// A <see cref="T:System.IntPtr"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void BindVideoCaptureStreamBufferNV(UInt32 video_capture_slot, UInt32 stream, int frame_region, IntPtr offset) {
			if      (Delegates.pglBindVideoCaptureStreamBufferNV != null)
				Delegates.pglBindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset);
			else
				throw new InvalidOperationException("binding point BindVideoCaptureStreamBufferNV cannot be found");
			LogProc("glBindVideoCaptureStreamBufferNV({0}, {1}, {2}, {3})", video_capture_slot, stream, frame_region, offset);
		}

		/// <summary>
		/// Binding for glBindVideoCaptureStreamTextureNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="frame_region">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="texture">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void BindVideoCaptureStreamTextureNV(UInt32 video_capture_slot, UInt32 stream, int frame_region, int target, UInt32 texture) {
			if      (Delegates.pglBindVideoCaptureStreamTextureNV != null)
				Delegates.pglBindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture);
			else
				throw new InvalidOperationException("binding point BindVideoCaptureStreamTextureNV cannot be found");
			LogProc("glBindVideoCaptureStreamTextureNV({0}, {1}, {2}, {3}, {4})", video_capture_slot, stream, frame_region, target, texture);
		}

		/// <summary>
		/// Binding for glBufferAddressRangeNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="address">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="length">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void BufferAddressRangeNV(int pname, UInt32 index, UInt64 address, UInt32 length) {
			if      (Delegates.pglBufferAddressRangeNV != null)
				Delegates.pglBufferAddressRangeNV(pname, index, address, length);
			else
				throw new InvalidOperationException("binding point BufferAddressRangeNV cannot be found");
			LogProc("glBufferAddressRangeNV({0}, {1}, {2}, {3})", pname, index, address, length);
		}

		/// <summary>
		/// Binding for glClearDepthdNV function.
		/// </summary>
		/// <param name="depth">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 2.0
		public static void ClearDepthdNV(double depth) {
			if      (Delegates.pglClearDepthdNV != null)
				Delegates.pglClearDepthdNV(depth);
			else
				throw new InvalidOperationException("binding point ClearDepthdNV cannot be found");
			LogProc("glClearDepthdNV({0})", depth);
		}

		/// <summary>
		/// Binding for glColor3hNV function.
		/// </summary>
		/// <param name="red">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="green">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="blue">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Color3hNV(UInt16 red, UInt16 green, UInt16 blue) {
			if      (Delegates.pglColor3hNV != null)
				Delegates.pglColor3hNV(red, green, blue);
			else
				throw new InvalidOperationException("binding point Color3hNV cannot be found");
			LogProc("glColor3hNV({0}, {1}, {2})", red, green, blue);
		}

		/// <summary>
		/// Binding for glColor3hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Color3hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglColor3hvNV != null)
						Delegates.pglColor3hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point Color3hNV cannot be found");
				}
			}
			LogProc("glColor3hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glColor4hNV function.
		/// </summary>
		/// <param name="red">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="green">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="blue">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="alpha">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Color4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha) {
			if      (Delegates.pglColor4hNV != null)
				Delegates.pglColor4hNV(red, green, blue, alpha);
			else
				throw new InvalidOperationException("binding point Color4hNV cannot be found");
			LogProc("glColor4hNV({0}, {1}, {2}, {3})", red, green, blue, alpha);
		}

		/// <summary>
		/// Binding for glColor4hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Color4hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglColor4hvNV != null)
						Delegates.pglColor4hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point Color4hNV cannot be found");
				}
			}
			LogProc("glColor4hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glColorFormatNV function.
		/// </summary>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ColorFormatNV(int size, int type, Int32 stride) {
			if      (Delegates.pglColorFormatNV != null)
				Delegates.pglColorFormatNV(size, type, stride);
			else
				throw new InvalidOperationException("binding point ColorFormatNV cannot be found");
			LogProc("glColorFormatNV({0}, {1}, {2})", size, type, stride);
		}

		/// <summary>
		/// Binding for glCombinerInputNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="input">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="mapping">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="componentUsage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage) {
			if      (Delegates.pglCombinerInputNV != null)
				Delegates.pglCombinerInputNV(stage, portion, variable, input, mapping, componentUsage);
			else
				throw new InvalidOperationException("binding point CombinerInputNV cannot be found");
			LogProc("glCombinerInputNV({0}, {1}, {2}, {3}, {4}, {5})", stage, portion, variable, input, mapping, componentUsage);
		}

		/// <summary>
		/// Binding for glCombinerOutputNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="abOutput">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="cdOutput">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="sumOutput">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="scale">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="bias">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="abDotProduct">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// <param name="cdDotProduct">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// <param name="muxSum">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, bool abDotProduct, bool cdDotProduct, bool muxSum) {
			if      (Delegates.pglCombinerOutputNV != null)
				Delegates.pglCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum);
			else
				throw new InvalidOperationException("binding point CombinerOutputNV cannot be found");
			LogProc("glCombinerOutputNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9})", stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum);
		}

		/// <summary>
		/// Binding for glCombinerParameterfNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="param">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerParameterNV(int pname, float param) {
			if      (Delegates.pglCombinerParameterfNV != null)
				Delegates.pglCombinerParameterfNV(pname, param);
			else
				throw new InvalidOperationException("binding point CombinerParameterNV cannot be found");
			LogProc("glCombinerParameterfNV({0}, {1})", pname, param);
		}

		/// <summary>
		/// Binding for glCombinerParameterfvNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerParameterNV(int pname, float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglCombinerParameterfvNV != null)
						Delegates.pglCombinerParameterfvNV(pname, fp_params);
					else
						throw new InvalidOperationException("binding point CombinerParameterNV cannot be found");
				}
			}
			LogProc("glCombinerParameterfvNV({0}, {1})", pname, @params);
		}

		/// <summary>
		/// Binding for glCombinerParameteriNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="param">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerParameterNV(int pname, int param) {
			if      (Delegates.pglCombinerParameteriNV != null)
				Delegates.pglCombinerParameteriNV(pname, param);
			else
				throw new InvalidOperationException("binding point CombinerParameterNV cannot be found");
			LogProc("glCombinerParameteriNV({0}, {1})", pname, param);
		}

		/// <summary>
		/// Binding for glCombinerParameterivNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerParameterNV(int pname, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglCombinerParameterivNV != null)
						Delegates.pglCombinerParameterivNV(pname, fp_params);
					else
						throw new InvalidOperationException("binding point CombinerParameterNV cannot be found");
				}
			}
			LogProc("glCombinerParameterivNV({0}, {1})", pname, @params);
		}

		/// <summary>
		/// Binding for glCombinerStageParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void CombinerStageParameterNV(int stage, int pname, float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglCombinerStageParameterfvNV != null)
						Delegates.pglCombinerStageParameterfvNV(stage, pname, fp_params);
					else
						throw new InvalidOperationException("binding point CombinerStageParameterNV cannot be found");
				}
			}
			LogProc("glCombinerStageParameterfvNV({0}, {1}, {2})", stage, pname, @params);
		}

		/// <summary>
		/// Binding for glCopyImageSubDataNV function.
		/// </summary>
		/// <param name="srcName">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="srcTarget">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="srcLevel">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="srcX">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="srcY">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="srcZ">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="dstName">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="dstTarget">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="dstLevel">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="dstX">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="dstY">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="dstZ">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="depth">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void CopyImageSubDataNV(UInt32 srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, UInt32 dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, Int32 width, Int32 height, Int32 depth) {
			if      (Delegates.pglCopyImageSubDataNV != null)
				Delegates.pglCopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);
			else
				throw new InvalidOperationException("binding point CopyImageSubDataNV cannot be found");
			LogProc("glCopyImageSubDataNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14})", srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);
		}

		/// <summary>
		/// Binding for glDeleteFencesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fences">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void DeleteFencesNV(Int32 n, UInt32[] fences) {
			unsafe {
				fixed (UInt32* fp_fences = fences)
				{
					if      (Delegates.pglDeleteFencesNV != null)
						Delegates.pglDeleteFencesNV(n, fp_fences);
					else
						throw new InvalidOperationException("binding point DeleteFencesNV cannot be found");
				}
			}
			LogProc("glDeleteFencesNV({0}, {1})", n, fences);
		}

		/// <summary>
		/// Binding for glDeleteOcclusionQueriesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void DeleteOcclusionQueriesNV(Int32 n, UInt32[] ids) {
			unsafe {
				fixed (UInt32* fp_ids = ids)
				{
					if      (Delegates.pglDeleteOcclusionQueriesNV != null)
						Delegates.pglDeleteOcclusionQueriesNV(n, fp_ids);
					else
						throw new InvalidOperationException("binding point DeleteOcclusionQueriesNV cannot be found");
				}
			}
			LogProc("glDeleteOcclusionQueriesNV({0}, {1})", n, ids);
		}

		/// <summary>
		/// Binding for glDeleteOcclusionQueriesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids) {
			unsafe {
				if      (Delegates.pglDeleteOcclusionQueriesNV != null)
					Delegates.pglDeleteOcclusionQueriesNV(n, ids);
				else
					throw new InvalidOperationException("binding point DeleteOcclusionQueriesNV cannot be found");
			}
			LogProc("glDeleteOcclusionQueriesNV({0}, {1})", n, "ids");
		}
		

		/// <summary>
		/// Binding for glDeleteProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void DeleteProgramsNV(Int32 n, UInt32[] programs) {
			unsafe {
				fixed (UInt32* fp_programs = programs)
				{
					if      (Delegates.pglDeleteProgramsNV != null)
						Delegates.pglDeleteProgramsNV(n, fp_programs);
					else
						throw new InvalidOperationException("binding point DeleteProgramsNV cannot be found");
				}
			}
			LogProc("glDeleteProgramsNV({0}, {1})", n, programs);
		}

		/// <summary>
		/// Binding for glDeleteProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void DeleteProgramsNV(Int32 n, UInt32* programs) {
			unsafe {
				if      (Delegates.pglDeleteProgramsNV != null)
					Delegates.pglDeleteProgramsNV(n, programs);
				else
					throw new InvalidOperationException("binding point DeleteProgramsNV cannot be found");
			}
			LogProc("glDeleteProgramsNV({0}, {1})", n, "programs");
		}
		

		/// <summary>
		/// Binding for glDeleteTransformFeedbacksNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		public static void DeleteTransformFeedbackNV(Int32 n, UInt32[] ids) {
			unsafe {
				fixed (UInt32* fp_ids = ids)
				{
					if      (Delegates.pglDeleteTransformFeedbacksNV != null)
						Delegates.pglDeleteTransformFeedbacksNV(n, fp_ids);
					else
						throw new InvalidOperationException("binding point DeleteTransformFeedbackNV cannot be found");
				}
			}
			LogProc("glDeleteTransformFeedbacksNV({0}, {1})", n, ids);
		}

		/// <summary>
		/// Binding for glDeleteTransformFeedbacksNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void DeleteTransformFeedbackNV(Int32 n, UInt32* ids) {
			unsafe {
				if      (Delegates.pglDeleteTransformFeedbacksNV != null)
					Delegates.pglDeleteTransformFeedbacksNV(n, ids);
				else
					throw new InvalidOperationException("binding point DeleteTransformFeedbackNV cannot be found");
			}
			LogProc("glDeleteTransformFeedbacksNV({0}, {1})", n, "ids");
		}
		

		/// <summary>
		/// Binding for glDepthBoundsdNV function.
		/// </summary>
		/// <param name="zmin">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="zmax">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 2.0
		public static void DepthBoundsNV(double zmin, double zmax) {
			if      (Delegates.pglDepthBoundsdNV != null)
				Delegates.pglDepthBoundsdNV(zmin, zmax);
			else
				throw new InvalidOperationException("binding point DepthBoundsNV cannot be found");
			LogProc("glDepthBoundsdNV({0}, {1})", zmin, zmax);
		}

		/// <summary>
		/// Binding for glDepthRangedNV function.
		/// </summary>
		/// <param name="zNear">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="zFar">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 2.0
		public static void DepthRangedNV(double zNear, double zFar) {
			if      (Delegates.pglDepthRangedNV != null)
				Delegates.pglDepthRangedNV(zNear, zFar);
			else
				throw new InvalidOperationException("binding point DepthRangedNV cannot be found");
			LogProc("glDepthRangedNV({0}, {1})", zNear, zFar);
		}

		/// <summary>
		/// Binding for glDrawTransformFeedbackNV function.
		/// </summary>
		/// <param name="mode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void DrawTransformFeedbackNV(int mode, UInt32 id) {
			if      (Delegates.pglDrawTransformFeedbackNV != null)
				Delegates.pglDrawTransformFeedbackNV(mode, id);
			else
				throw new InvalidOperationException("binding point DrawTransformFeedbackNV cannot be found");
			LogProc("glDrawTransformFeedbackNV({0}, {1})", mode, id);
		}

		/// <summary>
		/// Binding for glEdgeFlagFormatNV function.
		/// </summary>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void EdgeFlagFormatNV(Int32 stride) {
			if      (Delegates.pglEdgeFlagFormatNV != null)
				Delegates.pglEdgeFlagFormatNV(stride);
			else
				throw new InvalidOperationException("binding point EdgeFlagFormatNV cannot be found");
			LogProc("glEdgeFlagFormatNV({0})", stride);
		}

		/// <summary>
		/// Binding for glEndConditionalRenderNV function.
		/// </summary>
		public static void EndConditionalRenderNV() {
			if      (Delegates.pglEndConditionalRenderNV != null)
				Delegates.pglEndConditionalRenderNV();
			else
				throw new InvalidOperationException("binding point EndConditionalRenderNV cannot be found");
			LogProc("glEndConditionalRenderNV()");
		}

		/// <summary>
		/// Binding for glEndOcclusionQueryNV function.
		/// </summary>
		/// @note This routine is available from OpenGL 1.2
		public static void EndOcclusionQueryNV() {
			if      (Delegates.pglEndOcclusionQueryNV != null)
				Delegates.pglEndOcclusionQueryNV();
			else
				throw new InvalidOperationException("binding point EndOcclusionQueryNV cannot be found");
			LogProc("glEndOcclusionQueryNV()");
		}

		/// <summary>
		/// Binding for glEndTransformFeedbackNV function.
		/// </summary>
		/// @note This routine is available from OpenGL 1.5
		public static void EndTransformFeedbackNV() {
			if      (Delegates.pglEndTransformFeedbackNV != null)
				Delegates.pglEndTransformFeedbackNV();
			else
				throw new InvalidOperationException("binding point EndTransformFeedbackNV cannot be found");
			LogProc("glEndTransformFeedbackNV()");
		}

		/// <summary>
		/// Binding for glEndVideoCaptureNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void EndVideoCaptureNV(UInt32 video_capture_slot) {
			if      (Delegates.pglEndVideoCaptureNV != null)
				Delegates.pglEndVideoCaptureNV(video_capture_slot);
			else
				throw new InvalidOperationException("binding point EndVideoCaptureNV cannot be found");
			LogProc("glEndVideoCaptureNV({0})", video_capture_slot);
		}

		/// <summary>
		/// Binding for glEvalMapsNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="mode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void EvalMapNV(int target, int mode) {
			if      (Delegates.pglEvalMapsNV != null)
				Delegates.pglEvalMapsNV(target, mode);
			else
				throw new InvalidOperationException("binding point EvalMapNV cannot be found");
			LogProc("glEvalMapsNV({0}, {1})", target, mode);
		}

		/// <summary>
		/// Binding for glExecuteProgramNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ExecuteProgramNV(int target, UInt32 id, float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglExecuteProgramNV != null)
						Delegates.pglExecuteProgramNV(target, id, fp_params);
					else
						throw new InvalidOperationException("binding point ExecuteProgramNV cannot be found");
				}
			}
			LogProc("glExecuteProgramNV({0}, {1}, {2})", target, id, @params);
		}

		/// <summary>
		/// Binding for glExecuteProgramNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ExecuteProgramNV(int target, UInt32 id, float* @params) {
			unsafe {
				if      (Delegates.pglExecuteProgramNV != null)
					Delegates.pglExecuteProgramNV(target, id, @params);
				else
					throw new InvalidOperationException("binding point ExecuteProgramNV cannot be found");
			}
			LogProc("glExecuteProgramNV({0}, {1}, {2})", target, id, "@params");
		}
		

		/// <summary>
		/// Binding for glFinalCombinerInputNV function.
		/// </summary>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="input">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="mapping">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="componentUsage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void FinalCombinerInputNV(int variable, int input, int mapping, int componentUsage) {
			if      (Delegates.pglFinalCombinerInputNV != null)
				Delegates.pglFinalCombinerInputNV(variable, input, mapping, componentUsage);
			else
				throw new InvalidOperationException("binding point FinalCombinerInputNV cannot be found");
			LogProc("glFinalCombinerInputNV({0}, {1}, {2}, {3})", variable, input, mapping, componentUsage);
		}

		/// <summary>
		/// Binding for glFinishFenceNV function.
		/// </summary>
		/// <param name="fence">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void FinishFenceNV(UInt32 fence) {
			if      (Delegates.pglFinishFenceNV != null)
				Delegates.pglFinishFenceNV(fence);
			else
				throw new InvalidOperationException("binding point FinishFenceNV cannot be found");
			LogProc("glFinishFenceNV({0})", fence);
		}

		/// <summary>
		/// Binding for glFlushPixelDataRangeNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void FlushPixelDataRangeNV(int target) {
			if      (Delegates.pglFlushPixelDataRangeNV != null)
				Delegates.pglFlushPixelDataRangeNV(target);
			else
				throw new InvalidOperationException("binding point FlushPixelDataRangeNV cannot be found");
			LogProc("glFlushPixelDataRangeNV({0})", target);
		}

		/// <summary>
		/// Binding for glFogCoordFormatNV function.
		/// </summary>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void FogCoordFormatNV(int type, Int32 stride) {
			if      (Delegates.pglFogCoordFormatNV != null)
				Delegates.pglFogCoordFormatNV(type, stride);
			else
				throw new InvalidOperationException("binding point FogCoordFormatNV cannot be found");
			LogProc("glFogCoordFormatNV({0}, {1})", type, stride);
		}

		/// <summary>
		/// Binding for glFogCoordhNV function.
		/// </summary>
		/// <param name="fog">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void FogCoordhNV(UInt16 fog) {
			if      (Delegates.pglFogCoordhNV != null)
				Delegates.pglFogCoordhNV(fog);
			else
				throw new InvalidOperationException("binding point FogCoordhNV cannot be found");
			LogProc("glFogCoordhNV({0})", fog);
		}

		/// <summary>
		/// Binding for glFogCoordhvNV function.
		/// </summary>
		/// <param name="fog">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void FogCoordhNV(UInt16[] fog) {
			unsafe {
				fixed (UInt16* fp_fog = fog)
				{
					if      (Delegates.pglFogCoordhvNV != null)
						Delegates.pglFogCoordhvNV(fp_fog);
					else
						throw new InvalidOperationException("binding point FogCoordhNV cannot be found");
				}
			}
			LogProc("glFogCoordhvNV({0})", fog);
		}

		/// <summary>
		/// Binding for glGenFencesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fences">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenFencesNV(Int32 n, [Out] UInt32[] fences) {
			unsafe {
				fixed (UInt32* fp_fences = fences)
				{
					if      (Delegates.pglGenFencesNV != null)
						Delegates.pglGenFencesNV(n, fp_fences);
					else
						throw new InvalidOperationException("binding point GenFencesNV cannot be found");
				}
			}
			LogProc("glGenFencesNV({0}, {1})", n, fences);
		}

		/// <summary>
		/// Binding for glGenFencesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fences">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenFencesNV(Int32 n, out UInt32 fences) {
			unsafe {
				fixed (UInt32* fp_fences = &fences)
				{
					if      (Delegates.pglGenFencesNV != null)
						Delegates.pglGenFencesNV(n, fp_fences);
					else
						throw new InvalidOperationException("binding point GenFencesNV cannot be found");
				}
			}
			LogProc("glGenFencesNV({0}, {1})", n, fences);
		}
		

		/// <summary>
		/// Binding for glGenOcclusionQueriesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenOcclusionQueriesNV(Int32 n, [Out] UInt32[] ids) {
			unsafe {
				fixed (UInt32* fp_ids = ids)
				{
					if      (Delegates.pglGenOcclusionQueriesNV != null)
						Delegates.pglGenOcclusionQueriesNV(n, fp_ids);
					else
						throw new InvalidOperationException("binding point GenOcclusionQueriesNV cannot be found");
				}
			}
			LogProc("glGenOcclusionQueriesNV({0}, {1})", n, ids);
		}

		/// <summary>
		/// Binding for glGenOcclusionQueriesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenOcclusionQueriesNV(Int32 n, out UInt32 ids) {
			unsafe {
				fixed (UInt32* fp_ids = &ids)
				{
					if      (Delegates.pglGenOcclusionQueriesNV != null)
						Delegates.pglGenOcclusionQueriesNV(n, fp_ids);
					else
						throw new InvalidOperationException("binding point GenOcclusionQueriesNV cannot be found");
				}
			}
			LogProc("glGenOcclusionQueriesNV({0}, {1})", n, ids);
		}
		
		/// <summary>
		/// Binding for glGenOcclusionQueriesNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenOcclusionQueriesNV(Int32 n, UInt32* ids) {
			unsafe {
				if      (Delegates.pglGenOcclusionQueriesNV != null)
					Delegates.pglGenOcclusionQueriesNV(n, ids);
				else
					throw new InvalidOperationException("binding point GenOcclusionQueriesNV cannot be found");
			}
			LogProc("glGenOcclusionQueriesNV({0}, {1})", n, "ids");
		}
		

		/// <summary>
		/// Binding for glGenProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenProgramsNV(Int32 n, [Out] UInt32[] programs) {
			unsafe {
				fixed (UInt32* fp_programs = programs)
				{
					if      (Delegates.pglGenProgramsNV != null)
						Delegates.pglGenProgramsNV(n, fp_programs);
					else
						throw new InvalidOperationException("binding point GenProgramsNV cannot be found");
				}
			}
			LogProc("glGenProgramsNV({0}, {1})", n, programs);
		}

		/// <summary>
		/// Binding for glGenProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenProgramsNV(Int32 n, out UInt32 programs) {
			unsafe {
				fixed (UInt32* fp_programs = &programs)
				{
					if      (Delegates.pglGenProgramsNV != null)
						Delegates.pglGenProgramsNV(n, fp_programs);
					else
						throw new InvalidOperationException("binding point GenProgramsNV cannot be found");
				}
			}
			LogProc("glGenProgramsNV({0}, {1})", n, programs);
		}
		
		/// <summary>
		/// Binding for glGenProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GenProgramsNV(Int32 n, UInt32* programs) {
			unsafe {
				if      (Delegates.pglGenProgramsNV != null)
					Delegates.pglGenProgramsNV(n, programs);
				else
					throw new InvalidOperationException("binding point GenProgramsNV cannot be found");
			}
			LogProc("glGenProgramsNV({0}, {1})", n, "programs");
		}
		

		/// <summary>
		/// Binding for glGenTransformFeedbacksNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		public static void GenTransformFeedbackNV(Int32 n, [Out] UInt32[] ids) {
			unsafe {
				fixed (UInt32* fp_ids = ids)
				{
					if      (Delegates.pglGenTransformFeedbacksNV != null)
						Delegates.pglGenTransformFeedbacksNV(n, fp_ids);
					else
						throw new InvalidOperationException("binding point GenTransformFeedbackNV cannot be found");
				}
			}
			LogProc("glGenTransformFeedbacksNV({0}, {1})", n, ids);
		}

		/// <summary>
		/// Binding for glGenTransformFeedbacksNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void GenTransformFeedbackNV(Int32 n, out UInt32 ids) {
			unsafe {
				fixed (UInt32* fp_ids = &ids)
				{
					if      (Delegates.pglGenTransformFeedbacksNV != null)
						Delegates.pglGenTransformFeedbacksNV(n, fp_ids);
					else
						throw new InvalidOperationException("binding point GenTransformFeedbackNV cannot be found");
				}
			}
			LogProc("glGenTransformFeedbacksNV({0}, {1})", n, ids);
		}
		
		/// <summary>
		/// Binding for glGenTransformFeedbacksNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ids">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void GenTransformFeedbackNV(Int32 n, UInt32* ids) {
			unsafe {
				if      (Delegates.pglGenTransformFeedbacksNV != null)
					Delegates.pglGenTransformFeedbacksNV(n, ids);
				else
					throw new InvalidOperationException("binding point GenTransformFeedbackNV cannot be found");
			}
			LogProc("glGenTransformFeedbacksNV({0}, {1})", n, "ids");
		}
		

		/// <summary>
		/// Binding for glGetActiveVaryingNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="bufSize">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="length">
		/// A <see cref="T:System.Int32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Text.StringBuilder"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] StringBuilder name) {
			unsafe {
				fixed (Int32* fp_length = &length)
				fixed (Int32* fp_size = &size)
				fixed (int* fp_type = &type)
				{
					if      (Delegates.pglGetActiveVaryingNV != null)
						Delegates.pglGetActiveVaryingNV(program, index, bufSize, fp_length, fp_size, fp_type, name);
					else
						throw new InvalidOperationException("binding point GetActiveVaryingNV cannot be found");
				}
			}
			LogProc("glGetActiveVaryingNV({0}, {1}, {2}, {3}, {4}, {5}, {6})", program, index, bufSize, length, size, type, name);
		}

		/// <summary>
		/// Binding for glGetBufferParameterui64vNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetBufferParameterui64vNV(int target, int pname, [Out] UInt64[] @params) {
			unsafe {
				fixed (UInt64* fp_params = @params)
				{
					if      (Delegates.pglGetBufferParameterui64vNV != null)
						Delegates.pglGetBufferParameterui64vNV(target, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetBufferParameterui64vNV cannot be found");
				}
			}
			LogProc("glGetBufferParameterui64vNV({0}, {1}, {2})", target, pname, @params);
		}

		/// <summary>
		/// Binding for glGetBufferParameterui64vNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetBufferParameterui64vNV(int target, int pname, out UInt64 @params) {
			unsafe {
				fixed (UInt64* fp_params = &@params)
				{
					if      (Delegates.pglGetBufferParameterui64vNV != null)
						Delegates.pglGetBufferParameterui64vNV(target, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetBufferParameterui64vNV cannot be found");
				}
			}
			LogProc("glGetBufferParameterui64vNV({0}, {1}, {2})", target, pname, @params);
		}
		

		/// <summary>
		/// Binding for glGetCombinerInputParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerInputParameterNV(int stage, int portion, int variable, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetCombinerInputParameterfvNV != null)
						Delegates.pglGetCombinerInputParameterfvNV(stage, portion, variable, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetCombinerInputParameterNV cannot be found");
				}
			}
			LogProc("glGetCombinerInputParameterfvNV({0}, {1}, {2}, {3}, {4})", stage, portion, variable, pname, @params);
		}

		/// <summary>
		/// Binding for glGetCombinerInputParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerInputParameterNV(int stage, int portion, int variable, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetCombinerInputParameterfvNV != null)
					Delegates.pglGetCombinerInputParameterfvNV(stage, portion, variable, pname, @params);
				else
					throw new InvalidOperationException("binding point GetCombinerInputParameterNV cannot be found");
			}
			LogProc("glGetCombinerInputParameterfvNV({0}, {1}, {2}, {3}, {4})", stage, portion, variable, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetCombinerInputParameterivNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerInputParameterNV(int stage, int portion, int variable, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetCombinerInputParameterivNV != null)
						Delegates.pglGetCombinerInputParameterivNV(stage, portion, variable, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetCombinerInputParameterNV cannot be found");
				}
			}
			LogProc("glGetCombinerInputParameterivNV({0}, {1}, {2}, {3}, {4})", stage, portion, variable, pname, @params);
		}

		/// <summary>
		/// Binding for glGetCombinerInputParameterivNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerInputParameterNV(int stage, int portion, int variable, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetCombinerInputParameterivNV != null)
					Delegates.pglGetCombinerInputParameterivNV(stage, portion, variable, pname, @params);
				else
					throw new InvalidOperationException("binding point GetCombinerInputParameterNV cannot be found");
			}
			LogProc("glGetCombinerInputParameterivNV({0}, {1}, {2}, {3}, {4})", stage, portion, variable, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetCombinerOutputParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerOutputParameterNV(int stage, int portion, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetCombinerOutputParameterfvNV != null)
						Delegates.pglGetCombinerOutputParameterfvNV(stage, portion, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetCombinerOutputParameterNV cannot be found");
				}
			}
			LogProc("glGetCombinerOutputParameterfvNV({0}, {1}, {2}, {3})", stage, portion, pname, @params);
		}

		/// <summary>
		/// Binding for glGetCombinerOutputParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerOutputParameterNV(int stage, int portion, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetCombinerOutputParameterfvNV != null)
					Delegates.pglGetCombinerOutputParameterfvNV(stage, portion, pname, @params);
				else
					throw new InvalidOperationException("binding point GetCombinerOutputParameterNV cannot be found");
			}
			LogProc("glGetCombinerOutputParameterfvNV({0}, {1}, {2}, {3})", stage, portion, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetCombinerOutputParameterivNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerOutputParameterNV(int stage, int portion, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetCombinerOutputParameterivNV != null)
						Delegates.pglGetCombinerOutputParameterivNV(stage, portion, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetCombinerOutputParameterNV cannot be found");
				}
			}
			LogProc("glGetCombinerOutputParameterivNV({0}, {1}, {2}, {3})", stage, portion, pname, @params);
		}

		/// <summary>
		/// Binding for glGetCombinerOutputParameterivNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="portion">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerOutputParameterNV(int stage, int portion, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetCombinerOutputParameterivNV != null)
					Delegates.pglGetCombinerOutputParameterivNV(stage, portion, pname, @params);
				else
					throw new InvalidOperationException("binding point GetCombinerOutputParameterNV cannot be found");
			}
			LogProc("glGetCombinerOutputParameterivNV({0}, {1}, {2}, {3})", stage, portion, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetCombinerStageParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerStageParameterNV(int stage, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetCombinerStageParameterfvNV != null)
						Delegates.pglGetCombinerStageParameterfvNV(stage, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetCombinerStageParameterNV cannot be found");
				}
			}
			LogProc("glGetCombinerStageParameterfvNV({0}, {1}, {2})", stage, pname, @params);
		}

		/// <summary>
		/// Binding for glGetCombinerStageParameterfvNV function.
		/// </summary>
		/// <param name="stage">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetCombinerStageParameterNV(int stage, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetCombinerStageParameterfvNV != null)
					Delegates.pglGetCombinerStageParameterfvNV(stage, pname, @params);
				else
					throw new InvalidOperationException("binding point GetCombinerStageParameterNV cannot be found");
			}
			LogProc("glGetCombinerStageParameterfvNV({0}, {1}, {2})", stage, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetFenceivNV function.
		/// </summary>
		/// <param name="fence">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetFenceNV(UInt32 fence, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetFenceivNV != null)
						Delegates.pglGetFenceivNV(fence, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetFenceNV cannot be found");
				}
			}
			LogProc("glGetFenceivNV({0}, {1}, {2})", fence, pname, @params);
		}

		/// <summary>
		/// Binding for glGetFenceivNV function.
		/// </summary>
		/// <param name="fence">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetFenceNV(UInt32 fence, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetFenceivNV != null)
					Delegates.pglGetFenceivNV(fence, pname, @params);
				else
					throw new InvalidOperationException("binding point GetFenceNV cannot be found");
			}
			LogProc("glGetFenceivNV({0}, {1}, {2})", fence, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetFinalCombinerInputParameterfvNV function.
		/// </summary>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetFinalCombinerInputParameterNV(int variable, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetFinalCombinerInputParameterfvNV != null)
						Delegates.pglGetFinalCombinerInputParameterfvNV(variable, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetFinalCombinerInputParameterNV cannot be found");
				}
			}
			LogProc("glGetFinalCombinerInputParameterfvNV({0}, {1}, {2})", variable, pname, @params);
		}

		/// <summary>
		/// Binding for glGetFinalCombinerInputParameterfvNV function.
		/// </summary>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetFinalCombinerInputParameterNV(int variable, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetFinalCombinerInputParameterfvNV != null)
					Delegates.pglGetFinalCombinerInputParameterfvNV(variable, pname, @params);
				else
					throw new InvalidOperationException("binding point GetFinalCombinerInputParameterNV cannot be found");
			}
			LogProc("glGetFinalCombinerInputParameterfvNV({0}, {1}, {2})", variable, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetFinalCombinerInputParameterivNV function.
		/// </summary>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetFinalCombinerInputParameterNV(int variable, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetFinalCombinerInputParameterivNV != null)
						Delegates.pglGetFinalCombinerInputParameterivNV(variable, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetFinalCombinerInputParameterNV cannot be found");
				}
			}
			LogProc("glGetFinalCombinerInputParameterivNV({0}, {1}, {2})", variable, pname, @params);
		}

		/// <summary>
		/// Binding for glGetFinalCombinerInputParameterivNV function.
		/// </summary>
		/// <param name="variable">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetFinalCombinerInputParameterNV(int variable, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetFinalCombinerInputParameterivNV != null)
					Delegates.pglGetFinalCombinerInputParameterivNV(variable, pname, @params);
				else
					throw new InvalidOperationException("binding point GetFinalCombinerInputParameterNV cannot be found");
			}
			LogProc("glGetFinalCombinerInputParameterivNV({0}, {1}, {2})", variable, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetIntegerui64i_vNV function.
		/// </summary>
		/// <param name="value">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="result">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetIntegerui64i_vNV(int value, UInt32 index, [Out] UInt64[] result) {
			unsafe {
				fixed (UInt64* fp_result = result)
				{
					if      (Delegates.pglGetIntegerui64i_vNV != null)
						Delegates.pglGetIntegerui64i_vNV(value, index, fp_result);
					else
						throw new InvalidOperationException("binding point GetIntegerui64i_vNV cannot be found");
				}
			}
			LogProc("glGetIntegerui64i_vNV({0}, {1}, {2})", value, index, result);
		}

		/// <summary>
		/// Binding for glGetIntegerui64i_vNV function.
		/// </summary>
		/// <param name="value">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="result">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetIntegerui64i_vNV(int value, UInt32 index, out UInt64 result) {
			unsafe {
				fixed (UInt64* fp_result = &result)
				{
					if      (Delegates.pglGetIntegerui64i_vNV != null)
						Delegates.pglGetIntegerui64i_vNV(value, index, fp_result);
					else
						throw new InvalidOperationException("binding point GetIntegerui64i_vNV cannot be found");
				}
			}
			LogProc("glGetIntegerui64i_vNV({0}, {1}, {2})", value, index, result);
		}
		

		/// <summary>
		/// Binding for glGetIntegerui64vNV function.
		/// </summary>
		/// <param name="value">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="result">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetIntegerui64vNV(int value, [Out] UInt64[] result) {
			unsafe {
				fixed (UInt64* fp_result = result)
				{
					if      (Delegates.pglGetIntegerui64vNV != null)
						Delegates.pglGetIntegerui64vNV(value, fp_result);
					else
						throw new InvalidOperationException("binding point GetIntegerui64vNV cannot be found");
				}
			}
			LogProc("glGetIntegerui64vNV({0}, {1})", value, result);
		}

		/// <summary>
		/// Binding for glGetIntegerui64vNV function.
		/// </summary>
		/// <param name="value">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="result">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetIntegerui64vNV(int value, out UInt64 result) {
			unsafe {
				fixed (UInt64* fp_result = &result)
				{
					if      (Delegates.pglGetIntegerui64vNV != null)
						Delegates.pglGetIntegerui64vNV(value, fp_result);
					else
						throw new InvalidOperationException("binding point GetIntegerui64vNV cannot be found");
				}
			}
			LogProc("glGetIntegerui64vNV({0}, {1})", value, result);
		}
		

		/// <summary>
		/// Binding for glGetMapAttribParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapAttribParameterNV(int target, UInt32 index, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetMapAttribParameterfvNV != null)
						Delegates.pglGetMapAttribParameterfvNV(target, index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetMapAttribParameterNV cannot be found");
				}
			}
			LogProc("glGetMapAttribParameterfvNV({0}, {1}, {2}, {3})", target, index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetMapAttribParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapAttribParameterNV(int target, UInt32 index, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetMapAttribParameterfvNV != null)
					Delegates.pglGetMapAttribParameterfvNV(target, index, pname, @params);
				else
					throw new InvalidOperationException("binding point GetMapAttribParameterNV cannot be found");
			}
			LogProc("glGetMapAttribParameterfvNV({0}, {1}, {2}, {3})", target, index, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetMapAttribParameterivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapAttribParameterNV(int target, UInt32 index, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetMapAttribParameterivNV != null)
						Delegates.pglGetMapAttribParameterivNV(target, index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetMapAttribParameterNV cannot be found");
				}
			}
			LogProc("glGetMapAttribParameterivNV({0}, {1}, {2}, {3})", target, index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetMapAttribParameterivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapAttribParameterNV(int target, UInt32 index, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetMapAttribParameterivNV != null)
					Delegates.pglGetMapAttribParameterivNV(target, index, pname, @params);
				else
					throw new InvalidOperationException("binding point GetMapAttribParameterNV cannot be found");
			}
			LogProc("glGetMapAttribParameterivNV({0}, {1}, {2}, {3})", target, index, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetMapControlPointsNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ustride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="vstride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="packed">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// <param name="points">
		/// A <see cref="T:System.IntPtr"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapControlPointNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, bool packed, [Out] object points) {
			GCHandle pp_points = GCHandle.Alloc(points, GCHandleType.Pinned);
			try {
				if      (Delegates.pglGetMapControlPointsNV != null)
					Delegates.pglGetMapControlPointsNV(target, index, type, ustride, vstride, packed, pp_points.AddrOfPinnedObject());
				else
					throw new InvalidOperationException("binding point GetMapControlPointNV cannot be found");
			} finally {
				pp_points.Free();
			}
			LogProc("glGetMapControlPointsNV({0}, {1}, {2}, {3}, {4}, {5}, {6})", target, index, type, ustride, vstride, packed, points);
		}

		/// <summary>
		/// Binding for glGetMapParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapParameterNV(int target, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetMapParameterfvNV != null)
						Delegates.pglGetMapParameterfvNV(target, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetMapParameterNV cannot be found");
				}
			}
			LogProc("glGetMapParameterfvNV({0}, {1}, {2})", target, pname, @params);
		}

		/// <summary>
		/// Binding for glGetMapParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapParameterNV(int target, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetMapParameterfvNV != null)
					Delegates.pglGetMapParameterfvNV(target, pname, @params);
				else
					throw new InvalidOperationException("binding point GetMapParameterNV cannot be found");
			}
			LogProc("glGetMapParameterfvNV({0}, {1}, {2})", target, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetMapParameterivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapParameterNV(int target, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetMapParameterivNV != null)
						Delegates.pglGetMapParameterivNV(target, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetMapParameterNV cannot be found");
				}
			}
			LogProc("glGetMapParameterivNV({0}, {1}, {2})", target, pname, @params);
		}

		/// <summary>
		/// Binding for glGetMapParameterivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void GetMapParameterNV(int target, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetMapParameterivNV != null)
					Delegates.pglGetMapParameterivNV(target, pname, @params);
				else
					throw new InvalidOperationException("binding point GetMapParameterNV cannot be found");
			}
			LogProc("glGetMapParameterivNV({0}, {1}, {2})", target, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetMultisamplefvNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="val">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 2 element(s).
		/// </param>
		public static void GetMultisampleNV(int pname, UInt32 index, [Out] float[] val) {
			unsafe {
				fixed (float* fp_val = val)
				{
					if      (Delegates.pglGetMultisamplefvNV != null)
						Delegates.pglGetMultisamplefvNV(pname, index, fp_val);
					else
						throw new InvalidOperationException("binding point GetMultisampleNV cannot be found");
				}
			}
			LogProc("glGetMultisamplefvNV({0}, {1}, {2})", pname, index, val);
		}

		/// <summary>
		/// Binding for glGetMultisamplefvNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="val">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		public static void GetMultisampleNV(int pname, UInt32 index, float* val) {
			unsafe {
				if      (Delegates.pglGetMultisamplefvNV != null)
					Delegates.pglGetMultisamplefvNV(pname, index, val);
				else
					throw new InvalidOperationException("binding point GetMultisampleNV cannot be found");
			}
			LogProc("glGetMultisamplefvNV({0}, {1}, {2})", pname, index, "val");
		}
		

		/// <summary>
		/// Binding for glGetNamedBufferParameterui64vNV function.
		/// </summary>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetNamedBufferParameterui64vNV(UInt32 buffer, int pname, [Out] UInt64[] @params) {
			unsafe {
				fixed (UInt64* fp_params = @params)
				{
					if      (Delegates.pglGetNamedBufferParameterui64vNV != null)
						Delegates.pglGetNamedBufferParameterui64vNV(buffer, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetNamedBufferParameterui64vNV cannot be found");
				}
			}
			LogProc("glGetNamedBufferParameterui64vNV({0}, {1}, {2})", buffer, pname, @params);
		}

		/// <summary>
		/// Binding for glGetNamedBufferParameterui64vNV function.
		/// </summary>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetNamedBufferParameterui64vNV(UInt32 buffer, int pname, out UInt64 @params) {
			unsafe {
				fixed (UInt64* fp_params = &@params)
				{
					if      (Delegates.pglGetNamedBufferParameterui64vNV != null)
						Delegates.pglGetNamedBufferParameterui64vNV(buffer, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetNamedBufferParameterui64vNV cannot be found");
				}
			}
			LogProc("glGetNamedBufferParameterui64vNV({0}, {1}, {2})", buffer, pname, @params);
		}
		

		/// <summary>
		/// Binding for glGetOcclusionQueryivNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetOcclusionQueryNV(UInt32 id, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetOcclusionQueryivNV != null)
						Delegates.pglGetOcclusionQueryivNV(id, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetOcclusionQueryNV cannot be found");
				}
			}
			LogProc("glGetOcclusionQueryivNV({0}, {1}, {2})", id, pname, @params);
		}

		/// <summary>
		/// Binding for glGetOcclusionQueryivNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetOcclusionQueryNV(UInt32 id, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetOcclusionQueryivNV != null)
					Delegates.pglGetOcclusionQueryivNV(id, pname, @params);
				else
					throw new InvalidOperationException("binding point GetOcclusionQueryNV cannot be found");
			}
			LogProc("glGetOcclusionQueryivNV({0}, {1}, {2})", id, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetOcclusionQueryuivNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetOcclusionQueryuivNV(UInt32 id, int pname, [Out] UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglGetOcclusionQueryuivNV != null)
						Delegates.pglGetOcclusionQueryuivNV(id, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetOcclusionQueryuivNV cannot be found");
				}
			}
			LogProc("glGetOcclusionQueryuivNV({0}, {1}, {2})", id, pname, @params);
		}

		/// <summary>
		/// Binding for glGetOcclusionQueryuivNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetOcclusionQueryuivNV(UInt32 id, int pname, UInt32* @params) {
			unsafe {
				if      (Delegates.pglGetOcclusionQueryuivNV != null)
					Delegates.pglGetOcclusionQueryuivNV(id, pname, @params);
				else
					throw new InvalidOperationException("binding point GetOcclusionQueryuivNV cannot be found");
			}
			LogProc("glGetOcclusionQueryuivNV({0}, {1}, {2})", id, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramEnvParameterIivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramEnvParameterINV(int target, UInt32 index, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetProgramEnvParameterIivNV != null)
						Delegates.pglGetProgramEnvParameterIivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramEnvParameterINV cannot be found");
				}
			}
			LogProc("glGetProgramEnvParameterIivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glGetProgramEnvParameterIivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramEnvParameterINV(int target, UInt32 index, int* @params) {
			unsafe {
				if      (Delegates.pglGetProgramEnvParameterIivNV != null)
					Delegates.pglGetProgramEnvParameterIivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point GetProgramEnvParameterINV cannot be found");
			}
			LogProc("glGetProgramEnvParameterIivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramEnvParameterIuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramEnvParameterINV(int target, UInt32 index, [Out] UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglGetProgramEnvParameterIuivNV != null)
						Delegates.pglGetProgramEnvParameterIuivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramEnvParameterINV cannot be found");
				}
			}
			LogProc("glGetProgramEnvParameterIuivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glGetProgramEnvParameterIuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramEnvParameterINV(int target, UInt32 index, UInt32* @params) {
			unsafe {
				if      (Delegates.pglGetProgramEnvParameterIuivNV != null)
					Delegates.pglGetProgramEnvParameterIuivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point GetProgramEnvParameterINV cannot be found");
			}
			LogProc("glGetProgramEnvParameterIuivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramivNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramNV(UInt32 id, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetProgramivNV != null)
						Delegates.pglGetProgramivNV(id, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramNV cannot be found");
				}
			}
			LogProc("glGetProgramivNV({0}, {1}, {2})", id, pname, @params);
		}

		/// <summary>
		/// Binding for glGetProgramivNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramNV(UInt32 id, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetProgramivNV != null)
					Delegates.pglGetProgramivNV(id, pname, @params);
				else
					throw new InvalidOperationException("binding point GetProgramNV cannot be found");
			}
			LogProc("glGetProgramivNV({0}, {1}, {2})", id, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramLocalParameterIivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramLocalParameterINV(int target, UInt32 index, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetProgramLocalParameterIivNV != null)
						Delegates.pglGetProgramLocalParameterIivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramLocalParameterINV cannot be found");
				}
			}
			LogProc("glGetProgramLocalParameterIivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glGetProgramLocalParameterIivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramLocalParameterINV(int target, UInt32 index, int* @params) {
			unsafe {
				if      (Delegates.pglGetProgramLocalParameterIivNV != null)
					Delegates.pglGetProgramLocalParameterIivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point GetProgramLocalParameterINV cannot be found");
			}
			LogProc("glGetProgramLocalParameterIivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramLocalParameterIuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramLocalParameterINV(int target, UInt32 index, [Out] UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglGetProgramLocalParameterIuivNV != null)
						Delegates.pglGetProgramLocalParameterIuivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramLocalParameterINV cannot be found");
				}
			}
			LogProc("glGetProgramLocalParameterIuivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glGetProgramLocalParameterIuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void GetProgramLocalParameterINV(int target, UInt32 index, UInt32* @params) {
			unsafe {
				if      (Delegates.pglGetProgramLocalParameterIuivNV != null)
					Delegates.pglGetProgramLocalParameterIuivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point GetProgramLocalParameterINV cannot be found");
			}
			LogProc("glGetProgramLocalParameterIuivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramNamedParameterdvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramNamedParameterNV(UInt32 id, Int32 len, byte[] name, [Out] double[] @params) {
			unsafe {
				fixed (byte* fp_name = name)
				fixed (double* fp_params = @params)
				{
					if      (Delegates.pglGetProgramNamedParameterdvNV != null)
						Delegates.pglGetProgramNamedParameterdvNV(id, len, fp_name, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramNamedParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramNamedParameterdvNV({0}, {1}, {2}, {3})", id, len, name, @params);
		}

		/// <summary>
		/// Binding for glGetProgramNamedParameterdvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramNamedParameterNV(UInt32 id, Int32 len, byte[] name, double* @params) {
			unsafe {
				fixed (byte* fp_name = name)
				{
					if      (Delegates.pglGetProgramNamedParameterdvNV != null)
						Delegates.pglGetProgramNamedParameterdvNV(id, len, fp_name, @params);
					else
						throw new InvalidOperationException("binding point GetProgramNamedParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramNamedParameterdvNV({0}, {1}, {2}, {3})", id, len, name, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramNamedParameterfvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramNamedParameterNV(UInt32 id, Int32 len, byte[] name, [Out] float[] @params) {
			unsafe {
				fixed (byte* fp_name = name)
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetProgramNamedParameterfvNV != null)
						Delegates.pglGetProgramNamedParameterfvNV(id, len, fp_name, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramNamedParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramNamedParameterfvNV({0}, {1}, {2}, {3})", id, len, name, @params);
		}

		/// <summary>
		/// Binding for glGetProgramNamedParameterfvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramNamedParameterNV(UInt32 id, Int32 len, byte[] name, float* @params) {
			unsafe {
				fixed (byte* fp_name = name)
				{
					if      (Delegates.pglGetProgramNamedParameterfvNV != null)
						Delegates.pglGetProgramNamedParameterfvNV(id, len, fp_name, @params);
					else
						throw new InvalidOperationException("binding point GetProgramNamedParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramNamedParameterfvNV({0}, {1}, {2}, {3})", id, len, name, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramParameterdvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramParameterNV(int target, UInt32 index, int pname, [Out] double[] @params) {
			unsafe {
				fixed (double* fp_params = @params)
				{
					if      (Delegates.pglGetProgramParameterdvNV != null)
						Delegates.pglGetProgramParameterdvNV(target, index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramParameterdvNV({0}, {1}, {2}, {3})", target, index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetProgramParameterdvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramParameterNV(int target, UInt32 index, int pname, double* @params) {
			unsafe {
				if      (Delegates.pglGetProgramParameterdvNV != null)
					Delegates.pglGetProgramParameterdvNV(target, index, pname, @params);
				else
					throw new InvalidOperationException("binding point GetProgramParameterNV cannot be found");
			}
			LogProc("glGetProgramParameterdvNV({0}, {1}, {2}, {3})", target, index, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// This array parameter shall have a fixed length of 4 element(s).
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramParameterNV(int target, UInt32 index, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetProgramParameterfvNV != null)
						Delegates.pglGetProgramParameterfvNV(target, index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetProgramParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramParameterfvNV({0}, {1}, {2}, {3})", target, index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetProgramParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramParameterNV(int target, UInt32 index, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetProgramParameterfvNV != null)
					Delegates.pglGetProgramParameterfvNV(target, index, pname, @params);
				else
					throw new InvalidOperationException("binding point GetProgramParameterNV cannot be found");
			}
			LogProc("glGetProgramParameterfvNV({0}, {1}, {2}, {3})", target, index, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetProgramStringNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="program">
		/// A <see cref="T:System.Byte*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetProgramStringNV(UInt32 id, int pname, [Out] byte[] program) {
			unsafe {
				fixed (byte* fp_program = program)
				{
					if      (Delegates.pglGetProgramStringNV != null)
						Delegates.pglGetProgramStringNV(id, pname, fp_program);
					else
						throw new InvalidOperationException("binding point GetProgramStringNV cannot be found");
				}
			}
			LogProc("glGetProgramStringNV({0}, {1}, {2})", id, pname, program);
		}

		/// <summary>
		/// Binding for glGetProgramSubroutineParameteruivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="param">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetProgramSubroutineParameterNV(int target, UInt32 index, [Out] UInt32[] param) {
			unsafe {
				fixed (UInt32* fp_param = param)
				{
					if      (Delegates.pglGetProgramSubroutineParameteruivNV != null)
						Delegates.pglGetProgramSubroutineParameteruivNV(target, index, fp_param);
					else
						throw new InvalidOperationException("binding point GetProgramSubroutineParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramSubroutineParameteruivNV({0}, {1}, {2})", target, index, param);
		}

		/// <summary>
		/// Binding for glGetProgramSubroutineParameteruivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="param">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetProgramSubroutineParameterNV(int target, UInt32 index, out UInt32 param) {
			unsafe {
				fixed (UInt32* fp_param = &param)
				{
					if      (Delegates.pglGetProgramSubroutineParameteruivNV != null)
						Delegates.pglGetProgramSubroutineParameteruivNV(target, index, fp_param);
					else
						throw new InvalidOperationException("binding point GetProgramSubroutineParameterNV cannot be found");
				}
			}
			LogProc("glGetProgramSubroutineParameteruivNV({0}, {1}, {2})", target, index, param);
		}
		
		/// <summary>
		/// Binding for glGetProgramSubroutineParameteruivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="param">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetProgramSubroutineParameterNV(int target, UInt32 index, UInt32* param) {
			unsafe {
				if      (Delegates.pglGetProgramSubroutineParameteruivNV != null)
					Delegates.pglGetProgramSubroutineParameteruivNV(target, index, param);
				else
					throw new InvalidOperationException("binding point GetProgramSubroutineParameterNV cannot be found");
			}
			LogProc("glGetProgramSubroutineParameteruivNV({0}, {1}, {2})", target, index, "param");
		}
		

		/// <summary>
		/// Binding for glGetTrackMatrixivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="address">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetTrackMatrixNV(int target, UInt32 address, int pname, [Out] out int @params) {
			unsafe {
				fixed (int* fp_params = &@params)
				{
					if      (Delegates.pglGetTrackMatrixivNV != null)
						Delegates.pglGetTrackMatrixivNV(target, address, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetTrackMatrixNV cannot be found");
				}
			}
			LogProc("glGetTrackMatrixivNV({0}, {1}, {2}, {3})", target, address, pname, @params);
		}

		/// <summary>
		/// Binding for glGetTransformFeedbackVaryingNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] out int location) {
			unsafe {
				fixed (int* fp_location = &location)
				{
					if      (Delegates.pglGetTransformFeedbackVaryingNV != null)
						Delegates.pglGetTransformFeedbackVaryingNV(program, index, fp_location);
					else
						throw new InvalidOperationException("binding point GetTransformFeedbackVaryingNV cannot be found");
				}
			}
			LogProc("glGetTransformFeedbackVaryingNV({0}, {1}, {2})", program, index, location);
		}

		/// <summary>
		/// Binding for glGetUniformi64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetUniformNV(UInt32 program, int location, [Out] Int64[] @params) {
			unsafe {
				fixed (Int64* fp_params = @params)
				{
					if      (Delegates.pglGetUniformi64vNV != null)
						Delegates.pglGetUniformi64vNV(program, location, fp_params);
					else
						throw new InvalidOperationException("binding point GetUniformNV cannot be found");
				}
			}
			LogProc("glGetUniformi64vNV({0}, {1}, {2})", program, location, @params);
		}

		/// <summary>
		/// Binding for glGetUniformui64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetUniformui64vNV(UInt32 program, int location, [Out] UInt64[] @params) {
			unsafe {
				fixed (UInt64* fp_params = @params)
				{
					if      (Delegates.pglGetUniformui64vNV != null)
						Delegates.pglGetUniformui64vNV(program, location, fp_params);
					else
						throw new InvalidOperationException("binding point GetUniformui64vNV cannot be found");
				}
			}
			LogProc("glGetUniformui64vNV({0}, {1}, {2})", program, location, @params);
		}

		/// <summary>
		/// Binding for glGetVaryingLocationNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.String"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static int GetVaryingLocationNV(UInt32 program, string name) {
			int retvalue;
			if      (Delegates.pglGetVaryingLocationNV != null)
				retvalue = (Delegates.pglGetVaryingLocationNV(program, name));
			else
				throw new InvalidOperationException("binding point GetVaryingLocationNV cannot be found");
			LogProc("glGetVaryingLocationNV({0}, {1}) = {2}", program, name, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glGetVertexAttribdvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVertexAttribNV(UInt32 index, int pname, [Out] out double @params) {
			unsafe {
				fixed (double* fp_params = &@params)
				{
					if      (Delegates.pglGetVertexAttribdvNV != null)
						Delegates.pglGetVertexAttribdvNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribdvNV({0}, {1}, {2})", index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVertexAttribfvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVertexAttribNV(UInt32 index, int pname, [Out] out float @params) {
			unsafe {
				fixed (float* fp_params = &@params)
				{
					if      (Delegates.pglGetVertexAttribfvNV != null)
						Delegates.pglGetVertexAttribfvNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribfvNV({0}, {1}, {2})", index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVertexAttribivNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVertexAttribNV(UInt32 index, int pname, [Out] out int @params) {
			unsafe {
				fixed (int* fp_params = &@params)
				{
					if      (Delegates.pglGetVertexAttribivNV != null)
						Delegates.pglGetVertexAttribivNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribivNV({0}, {1}, {2})", index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVertexAttribLi64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetVertexAttribLNV(UInt32 index, int pname, [Out] Int64[] @params) {
			unsafe {
				fixed (Int64* fp_params = @params)
				{
					if      (Delegates.pglGetVertexAttribLi64vNV != null)
						Delegates.pglGetVertexAttribLi64vNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribLNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribLi64vNV({0}, {1}, {2})", index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVertexAttribLi64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetVertexAttribLNV(UInt32 index, int pname, out Int64 @params) {
			unsafe {
				fixed (Int64* fp_params = &@params)
				{
					if      (Delegates.pglGetVertexAttribLi64vNV != null)
						Delegates.pglGetVertexAttribLi64vNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribLNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribLi64vNV({0}, {1}, {2})", index, pname, @params);
		}
		

		/// <summary>
		/// Binding for glGetVertexAttribLui64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetVertexAttribLNV(UInt32 index, int pname, [Out] UInt64[] @params) {
			unsafe {
				fixed (UInt64* fp_params = @params)
				{
					if      (Delegates.pglGetVertexAttribLui64vNV != null)
						Delegates.pglGetVertexAttribLui64vNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribLNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribLui64vNV({0}, {1}, {2})", index, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVertexAttribLui64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void GetVertexAttribLNV(UInt32 index, int pname, out UInt64 @params) {
			unsafe {
				fixed (UInt64* fp_params = &@params)
				{
					if      (Delegates.pglGetVertexAttribLui64vNV != null)
						Delegates.pglGetVertexAttribLui64vNV(index, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVertexAttribLNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribLui64vNV({0}, {1}, {2})", index, pname, @params);
		}
		

		/// <summary>
		/// Binding for glGetVertexAttribPointervNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pointer">
		/// A <see cref="T:System.IntPtr"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVertexAttribPointerNV(UInt32 index, int pname, [Out] out IntPtr pointer) {
			unsafe {
				fixed (IntPtr* fp_pointer = &pointer)
				{
					if      (Delegates.pglGetVertexAttribPointervNV != null)
						Delegates.pglGetVertexAttribPointervNV(index, pname, fp_pointer);
					else
						throw new InvalidOperationException("binding point GetVertexAttribPointerNV cannot be found");
				}
			}
			LogProc("glGetVertexAttribPointervNV({0}, {1}, {2})", index, pname, pointer);
		}

		/// <summary>
		/// Binding for glGetVideoCaptureivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureNV(UInt32 video_capture_slot, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetVideoCaptureivNV != null)
						Delegates.pglGetVideoCaptureivNV(video_capture_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureivNV({0}, {1}, {2})", video_capture_slot, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoCaptureivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureNV(UInt32 video_capture_slot, int pname, out int @params) {
			unsafe {
				fixed (int* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoCaptureivNV != null)
						Delegates.pglGetVideoCaptureivNV(video_capture_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureivNV({0}, {1}, {2})", video_capture_slot, pname, @params);
		}
		
		/// <summary>
		/// Binding for glGetVideoCaptureivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureNV(UInt32 video_capture_slot, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetVideoCaptureivNV != null)
					Delegates.pglGetVideoCaptureivNV(video_capture_slot, pname, @params);
				else
					throw new InvalidOperationException("binding point GetVideoCaptureNV cannot be found");
			}
			LogProc("glGetVideoCaptureivNV({0}, {1}, {2})", video_capture_slot, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetVideoCaptureStreamdvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out] double[] @params) {
			unsafe {
				fixed (double* fp_params = @params)
				{
					if      (Delegates.pglGetVideoCaptureStreamdvNV != null)
						Delegates.pglGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureStreamdvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoCaptureStreamdvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, out double @params) {
			unsafe {
				fixed (double* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoCaptureStreamdvNV != null)
						Delegates.pglGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureStreamdvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}
		
		/// <summary>
		/// Binding for glGetVideoCaptureStreamdvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, double* @params) {
			unsafe {
				if      (Delegates.pglGetVideoCaptureStreamdvNV != null)
					Delegates.pglGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, @params);
				else
					throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
			}
			LogProc("glGetVideoCaptureStreamdvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetVideoCaptureStreamfvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out] float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglGetVideoCaptureStreamfvNV != null)
						Delegates.pglGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureStreamfvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoCaptureStreamfvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, out float @params) {
			unsafe {
				fixed (float* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoCaptureStreamfvNV != null)
						Delegates.pglGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureStreamfvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}
		
		/// <summary>
		/// Binding for glGetVideoCaptureStreamfvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglGetVideoCaptureStreamfvNV != null)
					Delegates.pglGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, @params);
				else
					throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
			}
			LogProc("glGetVideoCaptureStreamfvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetVideoCaptureStreamivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetVideoCaptureStreamivNV != null)
						Delegates.pglGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureStreamivNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoCaptureStreamivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, out int @params) {
			unsafe {
				fixed (int* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoCaptureStreamivNV != null)
						Delegates.pglGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
				}
			}
			LogProc("glGetVideoCaptureStreamivNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}
		
		/// <summary>
		/// Binding for glGetVideoCaptureStreamivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoCaptureStreamNV(UInt32 video_capture_slot, UInt32 stream, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetVideoCaptureStreamivNV != null)
					Delegates.pglGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, @params);
				else
					throw new InvalidOperationException("binding point GetVideoCaptureStreamNV cannot be found");
			}
			LogProc("glGetVideoCaptureStreamivNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetVideoi64vNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, [Out] Int64[] @params) {
			unsafe {
				fixed (Int64* fp_params = @params)
				{
					if      (Delegates.pglGetVideoi64vNV != null)
						Delegates.pglGetVideoi64vNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoNV cannot be found");
				}
			}
			LogProc("glGetVideoi64vNV({0}, {1}, {2})", video_slot, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoi64vNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, out Int64 @params) {
			unsafe {
				fixed (Int64* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoi64vNV != null)
						Delegates.pglGetVideoi64vNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoNV cannot be found");
				}
			}
			LogProc("glGetVideoi64vNV({0}, {1}, {2})", video_slot, pname, @params);
		}
		

		/// <summary>
		/// Binding for glGetVideoivNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, [Out] int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglGetVideoivNV != null)
						Delegates.pglGetVideoivNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoNV cannot be found");
				}
			}
			LogProc("glGetVideoivNV({0}, {1}, {2})", video_slot, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoivNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, out int @params) {
			unsafe {
				fixed (int* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoivNV != null)
						Delegates.pglGetVideoivNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoNV cannot be found");
				}
			}
			LogProc("glGetVideoivNV({0}, {1}, {2})", video_slot, pname, @params);
		}
		
		/// <summary>
		/// Binding for glGetVideoivNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglGetVideoivNV != null)
					Delegates.pglGetVideoivNV(video_slot, pname, @params);
				else
					throw new InvalidOperationException("binding point GetVideoNV cannot be found");
			}
			LogProc("glGetVideoivNV({0}, {1}, {2})", video_slot, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glGetVideoui64vNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoui64vNV(UInt32 video_slot, int pname, [Out] UInt64[] @params) {
			unsafe {
				fixed (UInt64* fp_params = @params)
				{
					if      (Delegates.pglGetVideoui64vNV != null)
						Delegates.pglGetVideoui64vNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoui64vNV cannot be found");
				}
			}
			LogProc("glGetVideoui64vNV({0}, {1}, {2})", video_slot, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideoui64vNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoui64vNV(UInt32 video_slot, int pname, out UInt64 @params) {
			unsafe {
				fixed (UInt64* fp_params = &@params)
				{
					if      (Delegates.pglGetVideoui64vNV != null)
						Delegates.pglGetVideoui64vNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoui64vNV cannot be found");
				}
			}
			LogProc("glGetVideoui64vNV({0}, {1}, {2})", video_slot, pname, @params);
		}
		

		/// <summary>
		/// Binding for glGetVideouivNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, [Out] UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglGetVideouivNV != null)
						Delegates.pglGetVideouivNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoNV cannot be found");
				}
			}
			LogProc("glGetVideouivNV({0}, {1}, {2})", video_slot, pname, @params);
		}

		/// <summary>
		/// Binding for glGetVideouivNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, out UInt32 @params) {
			unsafe {
				fixed (UInt32* fp_params = &@params)
				{
					if      (Delegates.pglGetVideouivNV != null)
						Delegates.pglGetVideouivNV(video_slot, pname, fp_params);
					else
						throw new InvalidOperationException("binding point GetVideoNV cannot be found");
				}
			}
			LogProc("glGetVideouivNV({0}, {1}, {2})", video_slot, pname, @params);
		}
		
		/// <summary>
		/// Binding for glGetVideouivNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void GetVideoNV(UInt32 video_slot, int pname, UInt32* @params) {
			unsafe {
				if      (Delegates.pglGetVideouivNV != null)
					Delegates.pglGetVideouivNV(video_slot, pname, @params);
				else
					throw new InvalidOperationException("binding point GetVideoNV cannot be found");
			}
			LogProc("glGetVideouivNV({0}, {1}, {2})", video_slot, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glIndexFormatNV function.
		/// </summary>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void IndexFormatNV(int type, Int32 stride) {
			if      (Delegates.pglIndexFormatNV != null)
				Delegates.pglIndexFormatNV(type, stride);
			else
				throw new InvalidOperationException("binding point IndexFormatNV cannot be found");
			LogProc("glIndexFormatNV({0}, {1})", type, stride);
		}

		/// <summary>
		/// Binding for glIsBufferResidentNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool IsBufferResidentNV(int target) {
			bool retvalue;
			if      (Delegates.pglIsBufferResidentNV != null)
				retvalue = (Delegates.pglIsBufferResidentNV(target));
			else
				throw new InvalidOperationException("binding point IsBufferResidentNV cannot be found");
			LogProc("glIsBufferResidentNV({0}) = {1}", target, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glIsFenceNV function.
		/// </summary>
		/// <param name="fence">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool IsFenceNV(UInt32 fence) {
			bool retvalue;
			if      (Delegates.pglIsFenceNV != null)
				retvalue = (Delegates.pglIsFenceNV(fence));
			else
				throw new InvalidOperationException("binding point IsFenceNV cannot be found");
			LogProc("glIsFenceNV({0}) = {1}", fence, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glIsNamedBufferResidentNV function.
		/// </summary>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool IsNamedBufferResidentNV(UInt32 buffer) {
			bool retvalue;
			if      (Delegates.pglIsNamedBufferResidentNV != null)
				retvalue = (Delegates.pglIsNamedBufferResidentNV(buffer));
			else
				throw new InvalidOperationException("binding point IsNamedBufferResidentNV cannot be found");
			LogProc("glIsNamedBufferResidentNV({0}) = {1}", buffer, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glIsOcclusionQueryNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool IsOcclusionQueryNV(UInt32 id) {
			bool retvalue;
			if      (Delegates.pglIsOcclusionQueryNV != null)
				retvalue = (Delegates.pglIsOcclusionQueryNV(id));
			else
				throw new InvalidOperationException("binding point IsOcclusionQueryNV cannot be found");
			LogProc("glIsOcclusionQueryNV({0}) = {1}", id, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glIsProgramNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool IsProgramNV(UInt32 id) {
			bool retvalue;
			if      (Delegates.pglIsProgramNV != null)
				retvalue = (Delegates.pglIsProgramNV(id));
			else
				throw new InvalidOperationException("binding point IsProgramNV cannot be found");
			LogProc("glIsProgramNV({0}) = {1}", id, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glIsTransformFeedbackNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static bool IsTransformFeedbackNV(UInt32 id) {
			bool retvalue;
			if      (Delegates.pglIsTransformFeedbackNV != null)
				retvalue = (Delegates.pglIsTransformFeedbackNV(id));
			else
				throw new InvalidOperationException("binding point IsTransformFeedbackNV cannot be found");
			LogProc("glIsTransformFeedbackNV({0}) = {1}", id, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glLoadProgramNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="program">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void LoadProgramNV(int target, UInt32 id, Int32 len, byte[] program) {
			unsafe {
				fixed (byte* fp_program = program)
				{
					if      (Delegates.pglLoadProgramNV != null)
						Delegates.pglLoadProgramNV(target, id, len, fp_program);
					else
						throw new InvalidOperationException("binding point LoadProgramNV cannot be found");
				}
			}
			LogProc("glLoadProgramNV({0}, {1}, {2}, {3})", target, id, len, program);
		}

		/// <summary>
		/// Binding for glMakeBufferNonResidentNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MakeBufferNonResidentNV(int target) {
			if      (Delegates.pglMakeBufferNonResidentNV != null)
				Delegates.pglMakeBufferNonResidentNV(target);
			else
				throw new InvalidOperationException("binding point MakeBufferNonResidentNV cannot be found");
			LogProc("glMakeBufferNonResidentNV({0})", target);
		}

		/// <summary>
		/// Binding for glMakeBufferResidentNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="access">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MakeBufferResidentNV(int target, int access) {
			if      (Delegates.pglMakeBufferResidentNV != null)
				Delegates.pglMakeBufferResidentNV(target, access);
			else
				throw new InvalidOperationException("binding point MakeBufferResidentNV cannot be found");
			LogProc("glMakeBufferResidentNV({0}, {1})", target, access);
		}

		/// <summary>
		/// Binding for glMakeNamedBufferNonResidentNV function.
		/// </summary>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MakeNamedBufferNonResidentNV(UInt32 buffer) {
			if      (Delegates.pglMakeNamedBufferNonResidentNV != null)
				Delegates.pglMakeNamedBufferNonResidentNV(buffer);
			else
				throw new InvalidOperationException("binding point MakeNamedBufferNonResidentNV cannot be found");
			LogProc("glMakeNamedBufferNonResidentNV({0})", buffer);
		}

		/// <summary>
		/// Binding for glMakeNamedBufferResidentNV function.
		/// </summary>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="access">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MakeNamedBufferResidentNV(UInt32 buffer, int access) {
			if      (Delegates.pglMakeNamedBufferResidentNV != null)
				Delegates.pglMakeNamedBufferResidentNV(buffer, access);
			else
				throw new InvalidOperationException("binding point MakeNamedBufferResidentNV cannot be found");
			LogProc("glMakeNamedBufferResidentNV({0}, {1})", buffer, access);
		}

		/// <summary>
		/// Binding for glMapControlPointsNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="ustride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="vstride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="uorder">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="vorder">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="packed">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// <param name="points">
		/// A <see cref="T:System.IntPtr"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void MapControlPointNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, int uorder, int vorder, bool packed, object points) {
			GCHandle pp_points = GCHandle.Alloc(points, GCHandleType.Pinned);
			try {
				if      (Delegates.pglMapControlPointsNV != null)
					Delegates.pglMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, pp_points.AddrOfPinnedObject());
				else
					throw new InvalidOperationException("binding point MapControlPointNV cannot be found");
			} finally {
				pp_points.Free();
			}
			LogProc("glMapControlPointsNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8})", target, index, type, ustride, vstride, uorder, vorder, packed, points);
		}

		/// <summary>
		/// Binding for glMapParameterfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void MapParameterNV(int target, int pname, float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglMapParameterfvNV != null)
						Delegates.pglMapParameterfvNV(target, pname, fp_params);
					else
						throw new InvalidOperationException("binding point MapParameterNV cannot be found");
				}
			}
			LogProc("glMapParameterfvNV({0}, {1}, {2})", target, pname, @params);
		}

		/// <summary>
		/// Binding for glMapParameterivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.1
		public static void MapParameterNV(int target, int pname, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglMapParameterivNV != null)
						Delegates.pglMapParameterivNV(target, pname, fp_params);
					else
						throw new InvalidOperationException("binding point MapParameterNV cannot be found");
				}
			}
			LogProc("glMapParameterivNV({0}, {1}, {2})", target, pname, @params);
		}

		/// <summary>
		/// Binding for glMultiTexCoord1hNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord1hNV(int target, UInt16 s) {
			if      (Delegates.pglMultiTexCoord1hNV != null)
				Delegates.pglMultiTexCoord1hNV(target, s);
			else
				throw new InvalidOperationException("binding point MultiTexCoord1hNV cannot be found");
			LogProc("glMultiTexCoord1hNV({0}, {1})", target, s);
		}

		/// <summary>
		/// Binding for glMultiTexCoord1hvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord1hNV(int target, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglMultiTexCoord1hvNV != null)
						Delegates.pglMultiTexCoord1hvNV(target, fp_v);
					else
						throw new InvalidOperationException("binding point MultiTexCoord1hNV cannot be found");
				}
			}
			LogProc("glMultiTexCoord1hvNV({0}, {1})", target, v);
		}

		/// <summary>
		/// Binding for glMultiTexCoord2hNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="t">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord2hNV(int target, UInt16 s, UInt16 t) {
			if      (Delegates.pglMultiTexCoord2hNV != null)
				Delegates.pglMultiTexCoord2hNV(target, s, t);
			else
				throw new InvalidOperationException("binding point MultiTexCoord2hNV cannot be found");
			LogProc("glMultiTexCoord2hNV({0}, {1}, {2})", target, s, t);
		}

		/// <summary>
		/// Binding for glMultiTexCoord2hvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord2hNV(int target, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglMultiTexCoord2hvNV != null)
						Delegates.pglMultiTexCoord2hvNV(target, fp_v);
					else
						throw new InvalidOperationException("binding point MultiTexCoord2hNV cannot be found");
				}
			}
			LogProc("glMultiTexCoord2hvNV({0}, {1})", target, v);
		}

		/// <summary>
		/// Binding for glMultiTexCoord3hNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="t">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="r">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r) {
			if      (Delegates.pglMultiTexCoord3hNV != null)
				Delegates.pglMultiTexCoord3hNV(target, s, t, r);
			else
				throw new InvalidOperationException("binding point MultiTexCoord3hNV cannot be found");
			LogProc("glMultiTexCoord3hNV({0}, {1}, {2}, {3})", target, s, t, r);
		}

		/// <summary>
		/// Binding for glMultiTexCoord3hvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord3hNV(int target, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglMultiTexCoord3hvNV != null)
						Delegates.pglMultiTexCoord3hvNV(target, fp_v);
					else
						throw new InvalidOperationException("binding point MultiTexCoord3hNV cannot be found");
				}
			}
			LogProc("glMultiTexCoord3hvNV({0}, {1})", target, v);
		}

		/// <summary>
		/// Binding for glMultiTexCoord4hNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="t">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="r">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="q">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q) {
			if      (Delegates.pglMultiTexCoord4hNV != null)
				Delegates.pglMultiTexCoord4hNV(target, s, t, r, q);
			else
				throw new InvalidOperationException("binding point MultiTexCoord4hNV cannot be found");
			LogProc("glMultiTexCoord4hNV({0}, {1}, {2}, {3}, {4})", target, s, t, r, q);
		}

		/// <summary>
		/// Binding for glMultiTexCoord4hvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void MultiTexCoord4hNV(int target, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglMultiTexCoord4hvNV != null)
						Delegates.pglMultiTexCoord4hvNV(target, fp_v);
					else
						throw new InvalidOperationException("binding point MultiTexCoord4hNV cannot be found");
				}
			}
			LogProc("glMultiTexCoord4hvNV({0}, {1})", target, v);
		}

		/// <summary>
		/// Binding for glNormal3hNV function.
		/// </summary>
		/// <param name="nx">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="ny">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="nz">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Normal3hNV(UInt16 nx, UInt16 ny, UInt16 nz) {
			if      (Delegates.pglNormal3hNV != null)
				Delegates.pglNormal3hNV(nx, ny, nz);
			else
				throw new InvalidOperationException("binding point Normal3hNV cannot be found");
			LogProc("glNormal3hNV({0}, {1}, {2})", nx, ny, nz);
		}

		/// <summary>
		/// Binding for glNormal3hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Normal3hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglNormal3hvNV != null)
						Delegates.pglNormal3hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point Normal3hNV cannot be found");
				}
			}
			LogProc("glNormal3hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glNormalFormatNV function.
		/// </summary>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void NormalFormatNV(int type, Int32 stride) {
			if      (Delegates.pglNormalFormatNV != null)
				Delegates.pglNormalFormatNV(type, stride);
			else
				throw new InvalidOperationException("binding point NormalFormatNV cannot be found");
			LogProc("glNormalFormatNV({0}, {1})", type, stride);
		}

		/// <summary>
		/// Binding for glPauseTransformFeedbackNV function.
		/// </summary>
		public static void PauseTransformFeedbackNV() {
			if      (Delegates.pglPauseTransformFeedbackNV != null)
				Delegates.pglPauseTransformFeedbackNV();
			else
				throw new InvalidOperationException("binding point PauseTransformFeedbackNV cannot be found");
			LogProc("glPauseTransformFeedbackNV()");
		}

		/// <summary>
		/// Binding for glPixelDataRangeNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="length">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pointer">
		/// A <see cref="T:System.IntPtr"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PixelDataRangeNV(int target, Int32 length, [Out] object pointer) {
			GCHandle pp_pointer = GCHandle.Alloc(pointer, GCHandleType.Pinned);
			try {
				if      (Delegates.pglPixelDataRangeNV != null)
					Delegates.pglPixelDataRangeNV(target, length, pp_pointer.AddrOfPinnedObject());
				else
					throw new InvalidOperationException("binding point PixelDataRangeNV cannot be found");
			} finally {
				pp_pointer.Free();
			}
			LogProc("glPixelDataRangeNV({0}, {1}, {2})", target, length, pointer);
		}

		/// <summary>
		/// Binding for glPointParameteriNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="param">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PointParameterNV(int pname, int param) {
			if      (Delegates.pglPointParameteriNV != null)
				Delegates.pglPointParameteriNV(pname, param);
			else
				throw new InvalidOperationException("binding point PointParameterNV cannot be found");
			LogProc("glPointParameteriNV({0}, {1})", pname, param);
		}

		/// <summary>
		/// Binding for glPointParameterivNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PointParameterNV(int pname, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglPointParameterivNV != null)
						Delegates.pglPointParameterivNV(pname, fp_params);
					else
						throw new InvalidOperationException("binding point PointParameterNV cannot be found");
				}
			}
			LogProc("glPointParameterivNV({0}, {1})", pname, @params);
		}

		/// <summary>
		/// Binding for glPointParameterivNV function.
		/// </summary>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PointParameterNV(int pname, int* @params) {
			unsafe {
				if      (Delegates.pglPointParameterivNV != null)
					Delegates.pglPointParameterivNV(pname, @params);
				else
					throw new InvalidOperationException("binding point PointParameterNV cannot be found");
			}
			LogProc("glPointParameterivNV({0}, {1})", pname, "@params");
		}
		

		/// <summary>
		/// Binding for glPresentFrameDualFillNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="minPresentTime">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="beginPresentTimeId">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="presentDurationId">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="target0">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fill0">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target1">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fill1">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target2">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fill2">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target3">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fill3">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, int type, int target0, UInt32 fill0, int target1, UInt32 fill1, int target2, UInt32 fill2, int target3, UInt32 fill3) {
			if      (Delegates.pglPresentFrameDualFillNV != null)
				Delegates.pglPresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3);
			else
				throw new InvalidOperationException("binding point PresentFrameDualFillNV cannot be found");
			LogProc("glPresentFrameDualFillNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12})", video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3);
		}

		/// <summary>
		/// Binding for glPresentFrameKeyedNV function.
		/// </summary>
		/// <param name="video_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="minPresentTime">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="beginPresentTimeId">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="presentDurationId">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="target0">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fill0">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="key0">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target1">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fill1">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="key1">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, int type, int target0, UInt32 fill0, UInt32 key0, int target1, UInt32 fill1, UInt32 key1) {
			if      (Delegates.pglPresentFrameKeyedNV != null)
				Delegates.pglPresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1);
			else
				throw new InvalidOperationException("binding point PresentFrameKeyedNV cannot be found");
			LogProc("glPresentFrameKeyedNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10})", video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1);
		}

		/// <summary>
		/// Binding for glPrimitiveRestartIndexNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void PrimitiveRestartIndexNV(UInt32 index) {
			if      (Delegates.pglPrimitiveRestartIndexNV != null)
				Delegates.pglPrimitiveRestartIndexNV(index);
			else
				throw new InvalidOperationException("binding point PrimitiveRestartIndexNV cannot be found");
			LogProc("glPrimitiveRestartIndexNV({0})", index);
		}

		/// <summary>
		/// Binding for glPrimitiveRestartNV function.
		/// </summary>
		/// @note This routine is available from OpenGL 1.2
		public static void PrimitiveRestartNV() {
			if      (Delegates.pglPrimitiveRestartNV != null)
				Delegates.pglPrimitiveRestartNV();
			else
				throw new InvalidOperationException("binding point PrimitiveRestartNV cannot be found");
			LogProc("glPrimitiveRestartNV()");
		}

		/// <summary>
		/// Binding for glProgramBufferParametersfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramBufferParametersNV(int target, UInt32 buffer, UInt32 index, Int32 count, float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglProgramBufferParametersfvNV != null)
						Delegates.pglProgramBufferParametersfvNV(target, buffer, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramBufferParametersNV cannot be found");
				}
			}
			LogProc("glProgramBufferParametersfvNV({0}, {1}, {2}, {3}, {4})", target, buffer, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramBufferParametersfvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramBufferParametersNV(int target, UInt32 buffer, UInt32 index, Int32 count, float* @params) {
			unsafe {
				if      (Delegates.pglProgramBufferParametersfvNV != null)
					Delegates.pglProgramBufferParametersfvNV(target, buffer, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramBufferParametersNV cannot be found");
			}
			LogProc("glProgramBufferParametersfvNV({0}, {1}, {2}, {3}, {4})", target, buffer, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramBufferParametersIivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramBufferParametersINV(int target, UInt32 buffer, UInt32 index, Int32 count, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglProgramBufferParametersIivNV != null)
						Delegates.pglProgramBufferParametersIivNV(target, buffer, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramBufferParametersINV cannot be found");
				}
			}
			LogProc("glProgramBufferParametersIivNV({0}, {1}, {2}, {3}, {4})", target, buffer, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramBufferParametersIivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramBufferParametersINV(int target, UInt32 buffer, UInt32 index, Int32 count, int* @params) {
			unsafe {
				if      (Delegates.pglProgramBufferParametersIivNV != null)
					Delegates.pglProgramBufferParametersIivNV(target, buffer, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramBufferParametersINV cannot be found");
			}
			LogProc("glProgramBufferParametersIivNV({0}, {1}, {2}, {3}, {4})", target, buffer, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramBufferParametersIuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramBufferParametersINV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglProgramBufferParametersIuivNV != null)
						Delegates.pglProgramBufferParametersIuivNV(target, buffer, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramBufferParametersINV cannot be found");
				}
			}
			LogProc("glProgramBufferParametersIuivNV({0}, {1}, {2}, {3}, {4})", target, buffer, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramBufferParametersIuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="buffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramBufferParametersINV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params) {
			unsafe {
				if      (Delegates.pglProgramBufferParametersIuivNV != null)
					Delegates.pglProgramBufferParametersIuivNV(target, buffer, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramBufferParametersINV cannot be found");
			}
			LogProc("glProgramBufferParametersIuivNV({0}, {1}, {2}, {3}, {4})", target, buffer, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramEnvParameterI4iNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParameterI4NV(int target, UInt32 index, int x, int y, int z, int w) {
			if      (Delegates.pglProgramEnvParameterI4iNV != null)
				Delegates.pglProgramEnvParameterI4iNV(target, index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramEnvParameterI4NV cannot be found");
			LogProc("glProgramEnvParameterI4iNV({0}, {1}, {2}, {3}, {4}, {5})", target, index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramEnvParameterI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParameterI4NV(int target, UInt32 index, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglProgramEnvParameterI4ivNV != null)
						Delegates.pglProgramEnvParameterI4ivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramEnvParameterI4NV cannot be found");
				}
			}
			LogProc("glProgramEnvParameterI4ivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glProgramEnvParameterI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParameterI4NV(int target, UInt32 index, int* @params) {
			unsafe {
				if      (Delegates.pglProgramEnvParameterI4ivNV != null)
					Delegates.pglProgramEnvParameterI4ivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point ProgramEnvParameterI4NV cannot be found");
			}
			LogProc("glProgramEnvParameterI4ivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramEnvParameterI4uiNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParameterI4NV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) {
			if      (Delegates.pglProgramEnvParameterI4uiNV != null)
				Delegates.pglProgramEnvParameterI4uiNV(target, index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramEnvParameterI4NV cannot be found");
			LogProc("glProgramEnvParameterI4uiNV({0}, {1}, {2}, {3}, {4}, {5})", target, index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramEnvParameterI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParameterI4NV(int target, UInt32 index, UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglProgramEnvParameterI4uivNV != null)
						Delegates.pglProgramEnvParameterI4uivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramEnvParameterI4NV cannot be found");
				}
			}
			LogProc("glProgramEnvParameterI4uivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glProgramEnvParameterI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParameterI4NV(int target, UInt32 index, UInt32* @params) {
			unsafe {
				if      (Delegates.pglProgramEnvParameterI4uivNV != null)
					Delegates.pglProgramEnvParameterI4uivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point ProgramEnvParameterI4NV cannot be found");
			}
			LogProc("glProgramEnvParameterI4uivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramEnvParametersI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParametersI4NV(int target, UInt32 index, Int32 count, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglProgramEnvParametersI4ivNV != null)
						Delegates.pglProgramEnvParametersI4ivNV(target, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramEnvParametersI4NV cannot be found");
				}
			}
			LogProc("glProgramEnvParametersI4ivNV({0}, {1}, {2}, {3})", target, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramEnvParametersI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParametersI4NV(int target, UInt32 index, Int32 count, int* @params) {
			unsafe {
				if      (Delegates.pglProgramEnvParametersI4ivNV != null)
					Delegates.pglProgramEnvParametersI4ivNV(target, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramEnvParametersI4NV cannot be found");
			}
			LogProc("glProgramEnvParametersI4ivNV({0}, {1}, {2}, {3})", target, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramEnvParametersI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParametersI4NV(int target, UInt32 index, Int32 count, UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglProgramEnvParametersI4uivNV != null)
						Delegates.pglProgramEnvParametersI4uivNV(target, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramEnvParametersI4NV cannot be found");
				}
			}
			LogProc("glProgramEnvParametersI4uivNV({0}, {1}, {2}, {3})", target, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramEnvParametersI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramEnvParametersI4NV(int target, UInt32 index, Int32 count, UInt32* @params) {
			unsafe {
				if      (Delegates.pglProgramEnvParametersI4uivNV != null)
					Delegates.pglProgramEnvParametersI4uivNV(target, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramEnvParametersI4NV cannot be found");
			}
			LogProc("glProgramEnvParametersI4uivNV({0}, {1}, {2}, {3})", target, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramLocalParameterI4iNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParameterI4NV(int target, UInt32 index, int x, int y, int z, int w) {
			if      (Delegates.pglProgramLocalParameterI4iNV != null)
				Delegates.pglProgramLocalParameterI4iNV(target, index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramLocalParameterI4NV cannot be found");
			LogProc("glProgramLocalParameterI4iNV({0}, {1}, {2}, {3}, {4}, {5})", target, index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramLocalParameterI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParameterI4NV(int target, UInt32 index, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglProgramLocalParameterI4ivNV != null)
						Delegates.pglProgramLocalParameterI4ivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramLocalParameterI4NV cannot be found");
				}
			}
			LogProc("glProgramLocalParameterI4ivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glProgramLocalParameterI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParameterI4NV(int target, UInt32 index, int* @params) {
			unsafe {
				if      (Delegates.pglProgramLocalParameterI4ivNV != null)
					Delegates.pglProgramLocalParameterI4ivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point ProgramLocalParameterI4NV cannot be found");
			}
			LogProc("glProgramLocalParameterI4ivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramLocalParameterI4uiNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParameterI4NV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) {
			if      (Delegates.pglProgramLocalParameterI4uiNV != null)
				Delegates.pglProgramLocalParameterI4uiNV(target, index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramLocalParameterI4NV cannot be found");
			LogProc("glProgramLocalParameterI4uiNV({0}, {1}, {2}, {3}, {4}, {5})", target, index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramLocalParameterI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParameterI4NV(int target, UInt32 index, UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglProgramLocalParameterI4uivNV != null)
						Delegates.pglProgramLocalParameterI4uivNV(target, index, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramLocalParameterI4NV cannot be found");
				}
			}
			LogProc("glProgramLocalParameterI4uivNV({0}, {1}, {2})", target, index, @params);
		}

		/// <summary>
		/// Binding for glProgramLocalParameterI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParameterI4NV(int target, UInt32 index, UInt32* @params) {
			unsafe {
				if      (Delegates.pglProgramLocalParameterI4uivNV != null)
					Delegates.pglProgramLocalParameterI4uivNV(target, index, @params);
				else
					throw new InvalidOperationException("binding point ProgramLocalParameterI4NV cannot be found");
			}
			LogProc("glProgramLocalParameterI4uivNV({0}, {1}, {2})", target, index, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramLocalParametersI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParametersI4NV(int target, UInt32 index, Int32 count, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglProgramLocalParametersI4ivNV != null)
						Delegates.pglProgramLocalParametersI4ivNV(target, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramLocalParametersI4NV cannot be found");
				}
			}
			LogProc("glProgramLocalParametersI4ivNV({0}, {1}, {2}, {3})", target, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramLocalParametersI4ivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParametersI4NV(int target, UInt32 index, Int32 count, int* @params) {
			unsafe {
				if      (Delegates.pglProgramLocalParametersI4ivNV != null)
					Delegates.pglProgramLocalParametersI4ivNV(target, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramLocalParametersI4NV cannot be found");
			}
			LogProc("glProgramLocalParametersI4ivNV({0}, {1}, {2}, {3})", target, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramLocalParametersI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParametersI4NV(int target, UInt32 index, Int32 count, UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglProgramLocalParametersI4uivNV != null)
						Delegates.pglProgramLocalParametersI4uivNV(target, index, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramLocalParametersI4NV cannot be found");
				}
			}
			LogProc("glProgramLocalParametersI4uivNV({0}, {1}, {2}, {3})", target, index, count, @params);
		}

		/// <summary>
		/// Binding for glProgramLocalParametersI4uivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.3
		public static void ProgramLocalParametersI4NV(int target, UInt32 index, Int32 count, UInt32* @params) {
			unsafe {
				if      (Delegates.pglProgramLocalParametersI4uivNV != null)
					Delegates.pglProgramLocalParametersI4uivNV(target, index, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramLocalParametersI4NV cannot be found");
			}
			LogProc("glProgramLocalParametersI4uivNV({0}, {1}, {2}, {3})", target, index, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramNamedParameter4dNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramNamedParameter4NV(UInt32 id, Int32 len, byte[] name, double x, double y, double z, double w) {
			unsafe {
				fixed (byte* fp_name = name)
				{
					if      (Delegates.pglProgramNamedParameter4dNV != null)
						Delegates.pglProgramNamedParameter4dNV(id, len, fp_name, x, y, z, w);
					else
						throw new InvalidOperationException("binding point ProgramNamedParameter4NV cannot be found");
				}
			}
			LogProc("glProgramNamedParameter4dNV({0}, {1}, {2}, {3}, {4}, {5}, {6})", id, len, name, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramNamedParameter4dvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramNamedParameter4NV(UInt32 id, Int32 len, byte[] name, double[] v) {
			unsafe {
				fixed (byte* fp_name = name)
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglProgramNamedParameter4dvNV != null)
						Delegates.pglProgramNamedParameter4dvNV(id, len, fp_name, fp_v);
					else
						throw new InvalidOperationException("binding point ProgramNamedParameter4NV cannot be found");
				}
			}
			LogProc("glProgramNamedParameter4dvNV({0}, {1}, {2}, {3})", id, len, name, v);
		}

		/// <summary>
		/// Binding for glProgramNamedParameter4dvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramNamedParameter4NV(UInt32 id, Int32 len, byte[] name, double* v) {
			unsafe {
				fixed (byte* fp_name = name)
				{
					if      (Delegates.pglProgramNamedParameter4dvNV != null)
						Delegates.pglProgramNamedParameter4dvNV(id, len, fp_name, v);
					else
						throw new InvalidOperationException("binding point ProgramNamedParameter4NV cannot be found");
				}
			}
			LogProc("glProgramNamedParameter4dvNV({0}, {1}, {2}, {3})", id, len, name, "v");
		}
		

		/// <summary>
		/// Binding for glProgramNamedParameter4fNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramNamedParameter4NV(UInt32 id, Int32 len, byte[] name, float x, float y, float z, float w) {
			unsafe {
				fixed (byte* fp_name = name)
				{
					if      (Delegates.pglProgramNamedParameter4fNV != null)
						Delegates.pglProgramNamedParameter4fNV(id, len, fp_name, x, y, z, w);
					else
						throw new InvalidOperationException("binding point ProgramNamedParameter4NV cannot be found");
				}
			}
			LogProc("glProgramNamedParameter4fNV({0}, {1}, {2}, {3}, {4}, {5}, {6})", id, len, name, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramNamedParameter4fvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramNamedParameter4NV(UInt32 id, Int32 len, byte[] name, float[] v) {
			unsafe {
				fixed (byte* fp_name = name)
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglProgramNamedParameter4fvNV != null)
						Delegates.pglProgramNamedParameter4fvNV(id, len, fp_name, fp_v);
					else
						throw new InvalidOperationException("binding point ProgramNamedParameter4NV cannot be found");
				}
			}
			LogProc("glProgramNamedParameter4fvNV({0}, {1}, {2}, {3})", id, len, name, v);
		}

		/// <summary>
		/// Binding for glProgramNamedParameter4fvNV function.
		/// </summary>
		/// <param name="id">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="len">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="name">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramNamedParameter4NV(UInt32 id, Int32 len, byte[] name, float* v) {
			unsafe {
				fixed (byte* fp_name = name)
				{
					if      (Delegates.pglProgramNamedParameter4fvNV != null)
						Delegates.pglProgramNamedParameter4fvNV(id, len, fp_name, v);
					else
						throw new InvalidOperationException("binding point ProgramNamedParameter4NV cannot be found");
				}
			}
			LogProc("glProgramNamedParameter4fvNV({0}, {1}, {2}, {3})", id, len, name, "v");
		}
		

		/// <summary>
		/// Binding for glProgramParameter4dNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameter4NV(int target, UInt32 index, double x, double y, double z, double w) {
			if      (Delegates.pglProgramParameter4dNV != null)
				Delegates.pglProgramParameter4dNV(target, index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramParameter4NV cannot be found");
			LogProc("glProgramParameter4dNV({0}, {1}, {2}, {3}, {4}, {5})", target, index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramParameter4dvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameter4NV(int target, UInt32 index, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglProgramParameter4dvNV != null)
						Delegates.pglProgramParameter4dvNV(target, index, fp_v);
					else
						throw new InvalidOperationException("binding point ProgramParameter4NV cannot be found");
				}
			}
			LogProc("glProgramParameter4dvNV({0}, {1}, {2})", target, index, v);
		}

		/// <summary>
		/// Binding for glProgramParameter4dvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameter4NV(int target, UInt32 index, double* v) {
			unsafe {
				if      (Delegates.pglProgramParameter4dvNV != null)
					Delegates.pglProgramParameter4dvNV(target, index, v);
				else
					throw new InvalidOperationException("binding point ProgramParameter4NV cannot be found");
			}
			LogProc("glProgramParameter4dvNV({0}, {1}, {2})", target, index, "v");
		}
		

		/// <summary>
		/// Binding for glProgramParameter4fNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameter4NV(int target, UInt32 index, float x, float y, float z, float w) {
			if      (Delegates.pglProgramParameter4fNV != null)
				Delegates.pglProgramParameter4fNV(target, index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramParameter4NV cannot be found");
			LogProc("glProgramParameter4fNV({0}, {1}, {2}, {3}, {4}, {5})", target, index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramParameter4fvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameter4NV(int target, UInt32 index, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglProgramParameter4fvNV != null)
						Delegates.pglProgramParameter4fvNV(target, index, fp_v);
					else
						throw new InvalidOperationException("binding point ProgramParameter4NV cannot be found");
				}
			}
			LogProc("glProgramParameter4fvNV({0}, {1}, {2})", target, index, v);
		}

		/// <summary>
		/// Binding for glProgramParameter4fvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameter4NV(int target, UInt32 index, float* v) {
			unsafe {
				if      (Delegates.pglProgramParameter4fvNV != null)
					Delegates.pglProgramParameter4fvNV(target, index, v);
				else
					throw new InvalidOperationException("binding point ProgramParameter4NV cannot be found");
			}
			LogProc("glProgramParameter4fvNV({0}, {1}, {2})", target, index, "v");
		}
		

		/// <summary>
		/// Binding for glProgramParameters4dvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameters4NV(int target, UInt32 index, Int32 count, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglProgramParameters4dvNV != null)
						Delegates.pglProgramParameters4dvNV(target, index, count, fp_v);
					else
						throw new InvalidOperationException("binding point ProgramParameters4NV cannot be found");
				}
			}
			LogProc("glProgramParameters4dvNV({0}, {1}, {2}, {3})", target, index, count, v);
		}

		/// <summary>
		/// Binding for glProgramParameters4dvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameters4NV(int target, UInt32 index, Int32 count, double* v) {
			unsafe {
				if      (Delegates.pglProgramParameters4dvNV != null)
					Delegates.pglProgramParameters4dvNV(target, index, count, v);
				else
					throw new InvalidOperationException("binding point ProgramParameters4NV cannot be found");
			}
			LogProc("glProgramParameters4dvNV({0}, {1}, {2}, {3})", target, index, count, "v");
		}
		

		/// <summary>
		/// Binding for glProgramParameters4fvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameters4NV(int target, UInt32 index, Int32 count, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglProgramParameters4fvNV != null)
						Delegates.pglProgramParameters4fvNV(target, index, count, fp_v);
					else
						throw new InvalidOperationException("binding point ProgramParameters4NV cannot be found");
				}
			}
			LogProc("glProgramParameters4fvNV({0}, {1}, {2}, {3})", target, index, count, v);
		}

		/// <summary>
		/// Binding for glProgramParameters4fvNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramParameters4NV(int target, UInt32 index, Int32 count, float* v) {
			unsafe {
				if      (Delegates.pglProgramParameters4fvNV != null)
					Delegates.pglProgramParameters4fvNV(target, index, count, v);
				else
					throw new InvalidOperationException("binding point ProgramParameters4NV cannot be found");
			}
			LogProc("glProgramParameters4fvNV({0}, {1}, {2}, {3})", target, index, count, "v");
		}
		

		/// <summary>
		/// Binding for glProgramSubroutineParametersuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramSubroutineParametersNV(int target, Int32 count, UInt32[] @params) {
			unsafe {
				fixed (UInt32* fp_params = @params)
				{
					if      (Delegates.pglProgramSubroutineParametersuivNV != null)
						Delegates.pglProgramSubroutineParametersuivNV(target, count, fp_params);
					else
						throw new InvalidOperationException("binding point ProgramSubroutineParametersNV cannot be found");
				}
			}
			LogProc("glProgramSubroutineParametersuivNV({0}, {1}, {2})", target, count, @params);
		}

		/// <summary>
		/// Binding for glProgramSubroutineParametersuivNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramSubroutineParametersNV(int target, Int32 count, UInt32* @params) {
			unsafe {
				if      (Delegates.pglProgramSubroutineParametersuivNV != null)
					Delegates.pglProgramSubroutineParametersuivNV(target, count, @params);
				else
					throw new InvalidOperationException("binding point ProgramSubroutineParametersNV cannot be found");
			}
			LogProc("glProgramSubroutineParametersuivNV({0}, {1}, {2})", target, count, "@params");
		}
		

		/// <summary>
		/// Binding for glProgramUniform1i64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform1NV(UInt32 program, int location, Int64 x) {
			if      (Delegates.pglProgramUniform1i64NV != null)
				Delegates.pglProgramUniform1i64NV(program, location, x);
			else
				throw new InvalidOperationException("binding point ProgramUniform1NV cannot be found");
			LogProc("glProgramUniform1i64NV({0}, {1}, {2})", program, location, x);
		}

		/// <summary>
		/// Binding for glProgramUniform1i64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform1NV(UInt32 program, int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform1i64vNV != null)
						Delegates.pglProgramUniform1i64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform1NV cannot be found");
				}
			}
			LogProc("glProgramUniform1i64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform1ui64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform1ui64NV(UInt32 program, int location, UInt64 x) {
			if      (Delegates.pglProgramUniform1ui64NV != null)
				Delegates.pglProgramUniform1ui64NV(program, location, x);
			else
				throw new InvalidOperationException("binding point ProgramUniform1ui64NV cannot be found");
			LogProc("glProgramUniform1ui64NV({0}, {1}, {2})", program, location, x);
		}

		/// <summary>
		/// Binding for glProgramUniform1ui64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform1ui64vNV(UInt32 program, int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform1ui64vNV != null)
						Delegates.pglProgramUniform1ui64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform1ui64vNV cannot be found");
				}
			}
			LogProc("glProgramUniform1ui64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform2i64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform2NV(UInt32 program, int location, Int64 x, Int64 y) {
			if      (Delegates.pglProgramUniform2i64NV != null)
				Delegates.pglProgramUniform2i64NV(program, location, x, y);
			else
				throw new InvalidOperationException("binding point ProgramUniform2NV cannot be found");
			LogProc("glProgramUniform2i64NV({0}, {1}, {2}, {3})", program, location, x, y);
		}

		/// <summary>
		/// Binding for glProgramUniform2i64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform2NV(UInt32 program, int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform2i64vNV != null)
						Delegates.pglProgramUniform2i64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform2NV cannot be found");
				}
			}
			LogProc("glProgramUniform2i64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform2ui64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform2ui64NV(UInt32 program, int location, UInt64 x, UInt64 y) {
			if      (Delegates.pglProgramUniform2ui64NV != null)
				Delegates.pglProgramUniform2ui64NV(program, location, x, y);
			else
				throw new InvalidOperationException("binding point ProgramUniform2ui64NV cannot be found");
			LogProc("glProgramUniform2ui64NV({0}, {1}, {2}, {3})", program, location, x, y);
		}

		/// <summary>
		/// Binding for glProgramUniform2ui64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform2ui64vNV(UInt32 program, int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform2ui64vNV != null)
						Delegates.pglProgramUniform2ui64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform2ui64vNV cannot be found");
				}
			}
			LogProc("glProgramUniform2ui64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform3i64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform3NV(UInt32 program, int location, Int64 x, Int64 y, Int64 z) {
			if      (Delegates.pglProgramUniform3i64NV != null)
				Delegates.pglProgramUniform3i64NV(program, location, x, y, z);
			else
				throw new InvalidOperationException("binding point ProgramUniform3NV cannot be found");
			LogProc("glProgramUniform3i64NV({0}, {1}, {2}, {3}, {4})", program, location, x, y, z);
		}

		/// <summary>
		/// Binding for glProgramUniform3i64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform3NV(UInt32 program, int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform3i64vNV != null)
						Delegates.pglProgramUniform3i64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform3NV cannot be found");
				}
			}
			LogProc("glProgramUniform3i64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform3ui64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform3ui64NV(UInt32 program, int location, UInt64 x, UInt64 y, UInt64 z) {
			if      (Delegates.pglProgramUniform3ui64NV != null)
				Delegates.pglProgramUniform3ui64NV(program, location, x, y, z);
			else
				throw new InvalidOperationException("binding point ProgramUniform3ui64NV cannot be found");
			LogProc("glProgramUniform3ui64NV({0}, {1}, {2}, {3}, {4})", program, location, x, y, z);
		}

		/// <summary>
		/// Binding for glProgramUniform3ui64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform3ui64vNV(UInt32 program, int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform3ui64vNV != null)
						Delegates.pglProgramUniform3ui64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform3ui64vNV cannot be found");
				}
			}
			LogProc("glProgramUniform3ui64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform4i64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform4NV(UInt32 program, int location, Int64 x, Int64 y, Int64 z, Int64 w) {
			if      (Delegates.pglProgramUniform4i64NV != null)
				Delegates.pglProgramUniform4i64NV(program, location, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramUniform4NV cannot be found");
			LogProc("glProgramUniform4i64NV({0}, {1}, {2}, {3}, {4}, {5})", program, location, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramUniform4i64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform4NV(UInt32 program, int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform4i64vNV != null)
						Delegates.pglProgramUniform4i64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform4NV cannot be found");
				}
			}
			LogProc("glProgramUniform4i64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniform4ui64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform4ui64NV(UInt32 program, int location, UInt64 x, UInt64 y, UInt64 z, UInt64 w) {
			if      (Delegates.pglProgramUniform4ui64NV != null)
				Delegates.pglProgramUniform4ui64NV(program, location, x, y, z, w);
			else
				throw new InvalidOperationException("binding point ProgramUniform4ui64NV cannot be found");
			LogProc("glProgramUniform4ui64NV({0}, {1}, {2}, {3}, {4}, {5})", program, location, x, y, z, w);
		}

		/// <summary>
		/// Binding for glProgramUniform4ui64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void ProgramUniform4ui64vNV(UInt32 program, int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglProgramUniform4ui64vNV != null)
						Delegates.pglProgramUniform4ui64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniform4ui64vNV cannot be found");
				}
			}
			LogProc("glProgramUniform4ui64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramUniformui64NV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramUniformui64NV(UInt32 program, int location, UInt64 value) {
			if      (Delegates.pglProgramUniformui64NV != null)
				Delegates.pglProgramUniformui64NV(program, location, value);
			else
				throw new InvalidOperationException("binding point ProgramUniformui64NV cannot be found");
			LogProc("glProgramUniformui64NV({0}, {1}, {2})", program, location, value);
		}

		/// <summary>
		/// Binding for glProgramUniformui64vNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void ProgramUniformui64vNV(UInt32 program, int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglProgramUniformui64vNV != null)
						Delegates.pglProgramUniformui64vNV(program, location, count, fp_value);
					else
						throw new InvalidOperationException("binding point ProgramUniformui64vNV cannot be found");
				}
			}
			LogProc("glProgramUniformui64vNV({0}, {1}, {2}, {3})", program, location, count, value);
		}

		/// <summary>
		/// Binding for glProgramVertexLimitNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="limit">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 2.0
		public static void ProgramVertexLimitNV(int target, int limit) {
			if      (Delegates.pglProgramVertexLimitNV != null)
				Delegates.pglProgramVertexLimitNV(target, limit);
			else
				throw new InvalidOperationException("binding point ProgramVertexLimitNV cannot be found");
			LogProc("glProgramVertexLimitNV({0}, {1})", target, limit);
		}

		/// <summary>
		/// Binding for glRenderbufferStorageMultisampleCoverageNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="coverageSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="colorSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalformat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void RenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height) {
			if      (Delegates.pglRenderbufferStorageMultisampleCoverageNV != null)
				Delegates.pglRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height);
			else
				throw new InvalidOperationException("binding point RenderbufferStorageMultisampleCoverageNV cannot be found");
			LogProc("glRenderbufferStorageMultisampleCoverageNV({0}, {1}, {2}, {3}, {4}, {5})", target, coverageSamples, colorSamples, internalformat, width, height);
		}

		/// <summary>
		/// Binding for glRequestResidentProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void RequestResidentProgramsNV(Int32 n, UInt32[] programs) {
			unsafe {
				fixed (UInt32* fp_programs = programs)
				{
					if      (Delegates.pglRequestResidentProgramsNV != null)
						Delegates.pglRequestResidentProgramsNV(n, fp_programs);
					else
						throw new InvalidOperationException("binding point RequestResidentProgramsNV cannot be found");
				}
			}
			LogProc("glRequestResidentProgramsNV({0}, {1})", n, programs);
		}

		/// <summary>
		/// Binding for glRequestResidentProgramsNV function.
		/// </summary>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="programs">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void RequestResidentProgramsNV(Int32 n, UInt32* programs) {
			unsafe {
				if      (Delegates.pglRequestResidentProgramsNV != null)
					Delegates.pglRequestResidentProgramsNV(n, programs);
				else
					throw new InvalidOperationException("binding point RequestResidentProgramsNV cannot be found");
			}
			LogProc("glRequestResidentProgramsNV({0}, {1})", n, "programs");
		}
		

		/// <summary>
		/// Binding for glResumeTransformFeedbackNV function.
		/// </summary>
		public static void ResumeTransformFeedbackNV() {
			if      (Delegates.pglResumeTransformFeedbackNV != null)
				Delegates.pglResumeTransformFeedbackNV();
			else
				throw new InvalidOperationException("binding point ResumeTransformFeedbackNV cannot be found");
			LogProc("glResumeTransformFeedbackNV()");
		}

		/// <summary>
		/// Binding for glSampleMaskIndexedNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="mask">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void SampleMaskIndexedNV(UInt32 index, uint mask) {
			if      (Delegates.pglSampleMaskIndexedNV != null)
				Delegates.pglSampleMaskIndexedNV(index, mask);
			else
				throw new InvalidOperationException("binding point SampleMaskIndexedNV cannot be found");
			LogProc("glSampleMaskIndexedNV({0}, {1})", index, mask);
		}

		/// <summary>
		/// Binding for glSecondaryColor3hNV function.
		/// </summary>
		/// <param name="red">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="green">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="blue">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void SecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue) {
			if      (Delegates.pglSecondaryColor3hNV != null)
				Delegates.pglSecondaryColor3hNV(red, green, blue);
			else
				throw new InvalidOperationException("binding point SecondaryColor3hNV cannot be found");
			LogProc("glSecondaryColor3hNV({0}, {1}, {2})", red, green, blue);
		}

		/// <summary>
		/// Binding for glSecondaryColor3hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void SecondaryColor3hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglSecondaryColor3hvNV != null)
						Delegates.pglSecondaryColor3hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point SecondaryColor3hNV cannot be found");
				}
			}
			LogProc("glSecondaryColor3hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glSecondaryColorFormatNV function.
		/// </summary>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void SecondaryColorFormatNV(int size, int type, Int32 stride) {
			if      (Delegates.pglSecondaryColorFormatNV != null)
				Delegates.pglSecondaryColorFormatNV(size, type, stride);
			else
				throw new InvalidOperationException("binding point SecondaryColorFormatNV cannot be found");
			LogProc("glSecondaryColorFormatNV({0}, {1}, {2})", size, type, stride);
		}

		/// <summary>
		/// Binding for glSetFenceNV function.
		/// </summary>
		/// <param name="fence">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="condition">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void SetFenceNV(UInt32 fence, int condition) {
			if      (Delegates.pglSetFenceNV != null)
				Delegates.pglSetFenceNV(fence, condition);
			else
				throw new InvalidOperationException("binding point SetFenceNV cannot be found");
			LogProc("glSetFenceNV({0}, {1})", fence, condition);
		}

		/// <summary>
		/// Binding for glTestFenceNV function.
		/// </summary>
		/// <param name="fence">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static bool TestFenceNV(UInt32 fence) {
			bool retvalue;
			if      (Delegates.pglTestFenceNV != null)
				retvalue = (Delegates.pglTestFenceNV(fence));
			else
				throw new InvalidOperationException("binding point TestFenceNV cannot be found");
			LogProc("glTestFenceNV({0}) = {1}", fence, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glTexCoord1hNV function.
		/// </summary>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord1hNV(UInt16 s) {
			if      (Delegates.pglTexCoord1hNV != null)
				Delegates.pglTexCoord1hNV(s);
			else
				throw new InvalidOperationException("binding point TexCoord1hNV cannot be found");
			LogProc("glTexCoord1hNV({0})", s);
		}

		/// <summary>
		/// Binding for glTexCoord1hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord1hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglTexCoord1hvNV != null)
						Delegates.pglTexCoord1hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point TexCoord1hNV cannot be found");
				}
			}
			LogProc("glTexCoord1hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glTexCoord2hNV function.
		/// </summary>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="t">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord2hNV(UInt16 s, UInt16 t) {
			if      (Delegates.pglTexCoord2hNV != null)
				Delegates.pglTexCoord2hNV(s, t);
			else
				throw new InvalidOperationException("binding point TexCoord2hNV cannot be found");
			LogProc("glTexCoord2hNV({0}, {1})", s, t);
		}

		/// <summary>
		/// Binding for glTexCoord2hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord2hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglTexCoord2hvNV != null)
						Delegates.pglTexCoord2hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point TexCoord2hNV cannot be found");
				}
			}
			LogProc("glTexCoord2hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glTexCoord3hNV function.
		/// </summary>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="t">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="r">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord3hNV(UInt16 s, UInt16 t, UInt16 r) {
			if      (Delegates.pglTexCoord3hNV != null)
				Delegates.pglTexCoord3hNV(s, t, r);
			else
				throw new InvalidOperationException("binding point TexCoord3hNV cannot be found");
			LogProc("glTexCoord3hNV({0}, {1}, {2})", s, t, r);
		}

		/// <summary>
		/// Binding for glTexCoord3hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord3hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglTexCoord3hvNV != null)
						Delegates.pglTexCoord3hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point TexCoord3hNV cannot be found");
				}
			}
			LogProc("glTexCoord3hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glTexCoord4hNV function.
		/// </summary>
		/// <param name="s">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="t">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="r">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="q">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q) {
			if      (Delegates.pglTexCoord4hNV != null)
				Delegates.pglTexCoord4hNV(s, t, r, q);
			else
				throw new InvalidOperationException("binding point TexCoord4hNV cannot be found");
			LogProc("glTexCoord4hNV({0}, {1}, {2}, {3})", s, t, r, q);
		}

		/// <summary>
		/// Binding for glTexCoord4hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoord4hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglTexCoord4hvNV != null)
						Delegates.pglTexCoord4hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point TexCoord4hNV cannot be found");
				}
			}
			LogProc("glTexCoord4hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glTexCoordFormatNV function.
		/// </summary>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TexCoordFormatNV(int size, int type, Int32 stride) {
			if      (Delegates.pglTexCoordFormatNV != null)
				Delegates.pglTexCoordFormatNV(size, type, stride);
			else
				throw new InvalidOperationException("binding point TexCoordFormatNV cannot be found");
			LogProc("glTexCoordFormatNV({0}, {1}, {2})", size, type, stride);
		}

		/// <summary>
		/// Binding for glTexImage2DMultisampleCoverageNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="coverageSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="colorSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalFormat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fixedSampleLocations">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TexImage2DMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations) {
			if      (Delegates.pglTexImage2DMultisampleCoverageNV != null)
				Delegates.pglTexImage2DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);
			else
				throw new InvalidOperationException("binding point TexImage2DMultisampleCoverageNV cannot be found");
			LogProc("glTexImage2DMultisampleCoverageNV({0}, {1}, {2}, {3}, {4}, {5}, {6})", target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);
		}

		/// <summary>
		/// Binding for glTexImage3DMultisampleCoverageNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="coverageSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="colorSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalFormat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="depth">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fixedSampleLocations">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TexImage3DMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations) {
			if      (Delegates.pglTexImage3DMultisampleCoverageNV != null)
				Delegates.pglTexImage3DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);
			else
				throw new InvalidOperationException("binding point TexImage3DMultisampleCoverageNV cannot be found");
			LogProc("glTexImage3DMultisampleCoverageNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);
		}

		/// <summary>
		/// Binding for glTexRenderbufferNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="renderbuffer">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		public static void TexRenderbufferNV(int target, UInt32 renderbuffer) {
			if      (Delegates.pglTexRenderbufferNV != null)
				Delegates.pglTexRenderbufferNV(target, renderbuffer);
			else
				throw new InvalidOperationException("binding point TexRenderbufferNV cannot be found");
			LogProc("glTexRenderbufferNV({0}, {1})", target, renderbuffer);
		}

		/// <summary>
		/// Binding for glTextureBarrierNV function.
		/// </summary>
		/// @note This routine is available from OpenGL 1.2
		public static void TextureBarrierNV() {
			if      (Delegates.pglTextureBarrierNV != null)
				Delegates.pglTextureBarrierNV();
			else
				throw new InvalidOperationException("binding point TextureBarrierNV cannot be found");
			LogProc("glTextureBarrierNV()");
		}

		/// <summary>
		/// Binding for glTextureImage2DMultisampleCoverageNV function.
		/// </summary>
		/// <param name="texture">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="coverageSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="colorSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalFormat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fixedSampleLocations">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TextureImage2DMultisampleCoverageNV(UInt32 texture, int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations) {
			if      (Delegates.pglTextureImage2DMultisampleCoverageNV != null)
				Delegates.pglTextureImage2DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);
			else
				throw new InvalidOperationException("binding point TextureImage2DMultisampleCoverageNV cannot be found");
			LogProc("glTextureImage2DMultisampleCoverageNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);
		}

		/// <summary>
		/// Binding for glTextureImage2DMultisampleNV function.
		/// </summary>
		/// <param name="texture">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="samples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalFormat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fixedSampleLocations">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TextureImage2DMultisampleNV(UInt32 texture, int target, Int32 samples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations) {
			if      (Delegates.pglTextureImage2DMultisampleNV != null)
				Delegates.pglTextureImage2DMultisampleNV(texture, target, samples, internalFormat, width, height, fixedSampleLocations);
			else
				throw new InvalidOperationException("binding point TextureImage2DMultisampleNV cannot be found");
			LogProc("glTextureImage2DMultisampleNV({0}, {1}, {2}, {3}, {4}, {5}, {6})", texture, target, samples, internalFormat, width, height, fixedSampleLocations);
		}

		/// <summary>
		/// Binding for glTextureImage3DMultisampleCoverageNV function.
		/// </summary>
		/// <param name="texture">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="coverageSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="colorSamples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalFormat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="depth">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fixedSampleLocations">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TextureImage3DMultisampleCoverageNV(UInt32 texture, int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations) {
			if      (Delegates.pglTextureImage3DMultisampleCoverageNV != null)
				Delegates.pglTextureImage3DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);
			else
				throw new InvalidOperationException("binding point TextureImage3DMultisampleCoverageNV cannot be found");
			LogProc("glTextureImage3DMultisampleCoverageNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8})", texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);
		}

		/// <summary>
		/// Binding for glTextureImage3DMultisampleNV function.
		/// </summary>
		/// <param name="texture">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="samples">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="internalFormat">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="width">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="height">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="depth">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="fixedSampleLocations">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TextureImage3DMultisampleNV(UInt32 texture, int target, Int32 samples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations) {
			if      (Delegates.pglTextureImage3DMultisampleNV != null)
				Delegates.pglTextureImage3DMultisampleNV(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations);
			else
				throw new InvalidOperationException("binding point TextureImage3DMultisampleNV cannot be found");
			LogProc("glTextureImage3DMultisampleNV({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations);
		}

		/// <summary>
		/// Binding for glTrackMatrixNV function.
		/// </summary>
		/// <param name="target">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="address">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="matrix">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="transform">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void TrackMatrixNV(int target, UInt32 address, int matrix, int transform) {
			if      (Delegates.pglTrackMatrixNV != null)
				Delegates.pglTrackMatrixNV(target, address, matrix, transform);
			else
				throw new InvalidOperationException("binding point TrackMatrixNV cannot be found");
			LogProc("glTrackMatrixNV({0}, {1}, {2}, {3})", target, address, matrix, transform);
		}

		/// <summary>
		/// Binding for glTransformFeedbackAttribsNV function.
		/// </summary>
		/// <param name="count">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="attribs">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// <param name="bufferMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void TransformFeedbackAttribsNV(UInt32 count, int[] attribs, int bufferMode) {
			unsafe {
				fixed (int* fp_attribs = attribs)
				{
					if      (Delegates.pglTransformFeedbackAttribsNV != null)
						Delegates.pglTransformFeedbackAttribsNV(count, fp_attribs, bufferMode);
					else
						throw new InvalidOperationException("binding point TransformFeedbackAttribsNV cannot be found");
				}
			}
			LogProc("glTransformFeedbackAttribsNV({0}, {1}, {2})", count, attribs, bufferMode);
		}

		/// <summary>
		/// Binding for glTransformFeedbackAttribsNV function.
		/// </summary>
		/// <param name="count">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="attribs">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="bufferMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void TransformFeedbackAttribsNV(UInt32 count, int* attribs, int bufferMode) {
			unsafe {
				if      (Delegates.pglTransformFeedbackAttribsNV != null)
					Delegates.pglTransformFeedbackAttribsNV(count, attribs, bufferMode);
				else
					throw new InvalidOperationException("binding point TransformFeedbackAttribsNV cannot be found");
			}
			LogProc("glTransformFeedbackAttribsNV({0}, {1}, {2})", count, "attribs", bufferMode);
		}
		

		/// <summary>
		/// Binding for glTransformFeedbackStreamAttribsNV function.
		/// </summary>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="attribs">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// <param name="nbuffers">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="bufstreams">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// <param name="bufferMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TransformFeedbackStreamAttribsNV(Int32 count, int[] attribs, Int32 nbuffers, int[] bufstreams, int bufferMode) {
			unsafe {
				fixed (int* fp_attribs = attribs)
				fixed (int* fp_bufstreams = bufstreams)
				{
					if      (Delegates.pglTransformFeedbackStreamAttribsNV != null)
						Delegates.pglTransformFeedbackStreamAttribsNV(count, fp_attribs, nbuffers, fp_bufstreams, bufferMode);
					else
						throw new InvalidOperationException("binding point TransformFeedbackStreamAttribsNV cannot be found");
				}
			}
			LogProc("glTransformFeedbackStreamAttribsNV({0}, {1}, {2}, {3}, {4})", count, attribs, nbuffers, bufstreams, bufferMode);
		}

		/// <summary>
		/// Binding for glTransformFeedbackStreamAttribsNV function.
		/// </summary>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="attribs">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// <param name="nbuffers">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="bufstreams">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="bufferMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void TransformFeedbackStreamAttribsNV(Int32 count, int[] attribs, Int32 nbuffers, int* bufstreams, int bufferMode) {
			unsafe {
				fixed (int* fp_attribs = attribs)
				{
					if      (Delegates.pglTransformFeedbackStreamAttribsNV != null)
						Delegates.pglTransformFeedbackStreamAttribsNV(count, fp_attribs, nbuffers, bufstreams, bufferMode);
					else
						throw new InvalidOperationException("binding point TransformFeedbackStreamAttribsNV cannot be found");
				}
			}
			LogProc("glTransformFeedbackStreamAttribsNV({0}, {1}, {2}, {3}, {4})", count, attribs, nbuffers, "bufstreams", bufferMode);
		}
		

		/// <summary>
		/// Binding for glTransformFeedbackVaryingsNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="locations">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// <param name="bufferMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void TransformFeedbackVaryingNV(UInt32 program, Int32 count, int[] locations, int bufferMode) {
			unsafe {
				fixed (int* fp_locations = locations)
				{
					if      (Delegates.pglTransformFeedbackVaryingsNV != null)
						Delegates.pglTransformFeedbackVaryingsNV(program, count, fp_locations, bufferMode);
					else
						throw new InvalidOperationException("binding point TransformFeedbackVaryingNV cannot be found");
				}
			}
			LogProc("glTransformFeedbackVaryingsNV({0}, {1}, {2}, {3})", program, count, locations, bufferMode);
		}

		/// <summary>
		/// Binding for glTransformFeedbackVaryingsNV function.
		/// </summary>
		/// <param name="program">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="locations">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="bufferMode">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.5
		public static void TransformFeedbackVaryingNV(UInt32 program, Int32 count, int* locations, int bufferMode) {
			unsafe {
				if      (Delegates.pglTransformFeedbackVaryingsNV != null)
					Delegates.pglTransformFeedbackVaryingsNV(program, count, locations, bufferMode);
				else
					throw new InvalidOperationException("binding point TransformFeedbackVaryingNV cannot be found");
			}
			LogProc("glTransformFeedbackVaryingsNV({0}, {1}, {2}, {3})", program, count, "locations", bufferMode);
		}
		

		/// <summary>
		/// Binding for glUniform1i64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform1NV(int location, Int64 x) {
			if      (Delegates.pglUniform1i64NV != null)
				Delegates.pglUniform1i64NV(location, x);
			else
				throw new InvalidOperationException("binding point Uniform1NV cannot be found");
			LogProc("glUniform1i64NV({0}, {1})", location, x);
		}

		/// <summary>
		/// Binding for glUniform1i64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform1NV(int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglUniform1i64vNV != null)
						Delegates.pglUniform1i64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform1NV cannot be found");
				}
			}
			LogProc("glUniform1i64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform1ui64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform1ui64NV(int location, UInt64 x) {
			if      (Delegates.pglUniform1ui64NV != null)
				Delegates.pglUniform1ui64NV(location, x);
			else
				throw new InvalidOperationException("binding point Uniform1ui64NV cannot be found");
			LogProc("glUniform1ui64NV({0}, {1})", location, x);
		}

		/// <summary>
		/// Binding for glUniform1ui64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform1ui64vNV(int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglUniform1ui64vNV != null)
						Delegates.pglUniform1ui64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform1ui64vNV cannot be found");
				}
			}
			LogProc("glUniform1ui64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform2i64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform2NV(int location, Int64 x, Int64 y) {
			if      (Delegates.pglUniform2i64NV != null)
				Delegates.pglUniform2i64NV(location, x, y);
			else
				throw new InvalidOperationException("binding point Uniform2NV cannot be found");
			LogProc("glUniform2i64NV({0}, {1}, {2})", location, x, y);
		}

		/// <summary>
		/// Binding for glUniform2i64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform2NV(int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglUniform2i64vNV != null)
						Delegates.pglUniform2i64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform2NV cannot be found");
				}
			}
			LogProc("glUniform2i64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform2ui64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform2ui64NV(int location, UInt64 x, UInt64 y) {
			if      (Delegates.pglUniform2ui64NV != null)
				Delegates.pglUniform2ui64NV(location, x, y);
			else
				throw new InvalidOperationException("binding point Uniform2ui64NV cannot be found");
			LogProc("glUniform2ui64NV({0}, {1}, {2})", location, x, y);
		}

		/// <summary>
		/// Binding for glUniform2ui64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform2ui64vNV(int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglUniform2ui64vNV != null)
						Delegates.pglUniform2ui64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform2ui64vNV cannot be found");
				}
			}
			LogProc("glUniform2ui64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform3i64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform3NV(int location, Int64 x, Int64 y, Int64 z) {
			if      (Delegates.pglUniform3i64NV != null)
				Delegates.pglUniform3i64NV(location, x, y, z);
			else
				throw new InvalidOperationException("binding point Uniform3NV cannot be found");
			LogProc("glUniform3i64NV({0}, {1}, {2}, {3})", location, x, y, z);
		}

		/// <summary>
		/// Binding for glUniform3i64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform3NV(int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglUniform3i64vNV != null)
						Delegates.pglUniform3i64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform3NV cannot be found");
				}
			}
			LogProc("glUniform3i64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform3ui64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform3ui64NV(int location, UInt64 x, UInt64 y, UInt64 z) {
			if      (Delegates.pglUniform3ui64NV != null)
				Delegates.pglUniform3ui64NV(location, x, y, z);
			else
				throw new InvalidOperationException("binding point Uniform3ui64NV cannot be found");
			LogProc("glUniform3ui64NV({0}, {1}, {2}, {3})", location, x, y, z);
		}

		/// <summary>
		/// Binding for glUniform3ui64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform3ui64vNV(int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglUniform3ui64vNV != null)
						Delegates.pglUniform3ui64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform3ui64vNV cannot be found");
				}
			}
			LogProc("glUniform3ui64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform4i64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform4NV(int location, Int64 x, Int64 y, Int64 z, Int64 w) {
			if      (Delegates.pglUniform4i64NV != null)
				Delegates.pglUniform4i64NV(location, x, y, z, w);
			else
				throw new InvalidOperationException("binding point Uniform4NV cannot be found");
			LogProc("glUniform4i64NV({0}, {1}, {2}, {3}, {4})", location, x, y, z, w);
		}

		/// <summary>
		/// Binding for glUniform4i64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform4NV(int location, Int32 count, Int64[] value) {
			unsafe {
				fixed (Int64* fp_value = value)
				{
					if      (Delegates.pglUniform4i64vNV != null)
						Delegates.pglUniform4i64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform4NV cannot be found");
				}
			}
			LogProc("glUniform4i64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniform4ui64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform4ui64NV(int location, UInt64 x, UInt64 y, UInt64 z, UInt64 w) {
			if      (Delegates.pglUniform4ui64NV != null)
				Delegates.pglUniform4ui64NV(location, x, y, z, w);
			else
				throw new InvalidOperationException("binding point Uniform4ui64NV cannot be found");
			LogProc("glUniform4ui64NV({0}, {1}, {2}, {3}, {4})", location, x, y, z, w);
		}

		/// <summary>
		/// Binding for glUniform4ui64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void Uniform4ui64vNV(int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglUniform4ui64vNV != null)
						Delegates.pglUniform4ui64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniform4ui64vNV cannot be found");
				}
			}
			LogProc("glUniform4ui64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glUniformui64NV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Uniformui64NV(int location, UInt64 value) {
			if      (Delegates.pglUniformui64NV != null)
				Delegates.pglUniformui64NV(location, value);
			else
				throw new InvalidOperationException("binding point Uniformui64NV cannot be found");
			LogProc("glUniformui64NV({0}, {1})", location, value);
		}

		/// <summary>
		/// Binding for glUniformui64vNV function.
		/// </summary>
		/// <param name="location">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="value">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Uniformui64vNV(int location, Int32 count, UInt64[] value) {
			unsafe {
				fixed (UInt64* fp_value = value)
				{
					if      (Delegates.pglUniformui64vNV != null)
						Delegates.pglUniformui64vNV(location, count, fp_value);
					else
						throw new InvalidOperationException("binding point Uniformui64vNV cannot be found");
				}
			}
			LogProc("glUniformui64vNV({0}, {1}, {2})", location, count, value);
		}

		/// <summary>
		/// Binding for glVertex2hNV function.
		/// </summary>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Vertex2hNV(UInt16 x, UInt16 y) {
			if      (Delegates.pglVertex2hNV != null)
				Delegates.pglVertex2hNV(x, y);
			else
				throw new InvalidOperationException("binding point Vertex2hNV cannot be found");
			LogProc("glVertex2hNV({0}, {1})", x, y);
		}

		/// <summary>
		/// Binding for glVertex2hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Vertex2hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertex2hvNV != null)
						Delegates.pglVertex2hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point Vertex2hNV cannot be found");
				}
			}
			LogProc("glVertex2hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glVertex3hNV function.
		/// </summary>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Vertex3hNV(UInt16 x, UInt16 y, UInt16 z) {
			if      (Delegates.pglVertex3hNV != null)
				Delegates.pglVertex3hNV(x, y, z);
			else
				throw new InvalidOperationException("binding point Vertex3hNV cannot be found");
			LogProc("glVertex3hNV({0}, {1}, {2})", x, y, z);
		}

		/// <summary>
		/// Binding for glVertex3hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Vertex3hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertex3hvNV != null)
						Delegates.pglVertex3hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point Vertex3hNV cannot be found");
				}
			}
			LogProc("glVertex3hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glVertex4hNV function.
		/// </summary>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Vertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w) {
			if      (Delegates.pglVertex4hNV != null)
				Delegates.pglVertex4hNV(x, y, z, w);
			else
				throw new InvalidOperationException("binding point Vertex4hNV cannot be found");
			LogProc("glVertex4hNV({0}, {1}, {2}, {3})", x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertex4hvNV function.
		/// </summary>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void Vertex4hNV(UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertex4hvNV != null)
						Delegates.pglVertex4hvNV(fp_v);
					else
						throw new InvalidOperationException("binding point Vertex4hNV cannot be found");
				}
			}
			LogProc("glVertex4hvNV({0})", v);
		}

		/// <summary>
		/// Binding for glVertexAttrib1dNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, double x) {
			if      (Delegates.pglVertexAttrib1dNV != null)
				Delegates.pglVertexAttrib1dNV(index, x);
			else
				throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
			LogProc("glVertexAttrib1dNV({0}, {1})", index, x);
		}

		/// <summary>
		/// Binding for glVertexAttrib1dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib1dvNV != null)
						Delegates.pglVertexAttrib1dvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
				}
			}
			LogProc("glVertexAttrib1dvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib1dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib1dvNV != null)
					Delegates.pglVertexAttrib1dvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
			}
			LogProc("glVertexAttrib1dvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib1fNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, float x) {
			if      (Delegates.pglVertexAttrib1fNV != null)
				Delegates.pglVertexAttrib1fNV(index, x);
			else
				throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
			LogProc("glVertexAttrib1fNV({0}, {1})", index, x);
		}

		/// <summary>
		/// Binding for glVertexAttrib1fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib1fvNV != null)
						Delegates.pglVertexAttrib1fvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
				}
			}
			LogProc("glVertexAttrib1fvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib1fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib1fvNV != null)
					Delegates.pglVertexAttrib1fvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
			}
			LogProc("glVertexAttrib1fvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib1hNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, UInt16 x) {
			if      (Delegates.pglVertexAttrib1hNV != null)
				Delegates.pglVertexAttrib1hNV(index, x);
			else
				throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
			LogProc("glVertexAttrib1hNV({0}, {1})", index, x);
		}

		/// <summary>
		/// Binding for glVertexAttrib1hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1hvNV(UInt32 index, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib1hvNV != null)
						Delegates.pglVertexAttrib1hvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib1hvNV cannot be found");
				}
			}
			LogProc("glVertexAttrib1hvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib1sNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, Int16 x) {
			if      (Delegates.pglVertexAttrib1sNV != null)
				Delegates.pglVertexAttrib1sNV(index, x);
			else
				throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
			LogProc("glVertexAttrib1sNV({0}, {1})", index, x);
		}

		/// <summary>
		/// Binding for glVertexAttrib1svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib1NV(UInt32 index, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib1svNV != null)
						Delegates.pglVertexAttrib1svNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib1NV cannot be found");
				}
			}
			LogProc("glVertexAttrib1svNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib2dNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, double x, double y) {
			if      (Delegates.pglVertexAttrib2dNV != null)
				Delegates.pglVertexAttrib2dNV(index, x, y);
			else
				throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
			LogProc("glVertexAttrib2dNV({0}, {1}, {2})", index, x, y);
		}

		/// <summary>
		/// Binding for glVertexAttrib2dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib2dvNV != null)
						Delegates.pglVertexAttrib2dvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
				}
			}
			LogProc("glVertexAttrib2dvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib2dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib2dvNV != null)
					Delegates.pglVertexAttrib2dvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
			}
			LogProc("glVertexAttrib2dvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib2fNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, float x, float y) {
			if      (Delegates.pglVertexAttrib2fNV != null)
				Delegates.pglVertexAttrib2fNV(index, x, y);
			else
				throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
			LogProc("glVertexAttrib2fNV({0}, {1}, {2})", index, x, y);
		}

		/// <summary>
		/// Binding for glVertexAttrib2fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib2fvNV != null)
						Delegates.pglVertexAttrib2fvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
				}
			}
			LogProc("glVertexAttrib2fvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib2fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib2fvNV != null)
					Delegates.pglVertexAttrib2fvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
			}
			LogProc("glVertexAttrib2fvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib2hNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, UInt16 x, UInt16 y) {
			if      (Delegates.pglVertexAttrib2hNV != null)
				Delegates.pglVertexAttrib2hNV(index, x, y);
			else
				throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
			LogProc("glVertexAttrib2hNV({0}, {1}, {2})", index, x, y);
		}

		/// <summary>
		/// Binding for glVertexAttrib2hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2hvNV(UInt32 index, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib2hvNV != null)
						Delegates.pglVertexAttrib2hvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib2hvNV cannot be found");
				}
			}
			LogProc("glVertexAttrib2hvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib2sNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, Int16 x, Int16 y) {
			if      (Delegates.pglVertexAttrib2sNV != null)
				Delegates.pglVertexAttrib2sNV(index, x, y);
			else
				throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
			LogProc("glVertexAttrib2sNV({0}, {1}, {2})", index, x, y);
		}

		/// <summary>
		/// Binding for glVertexAttrib2svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib2NV(UInt32 index, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib2svNV != null)
						Delegates.pglVertexAttrib2svNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib2NV cannot be found");
				}
			}
			LogProc("glVertexAttrib2svNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib3dNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, double x, double y, double z) {
			if      (Delegates.pglVertexAttrib3dNV != null)
				Delegates.pglVertexAttrib3dNV(index, x, y, z);
			else
				throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
			LogProc("glVertexAttrib3dNV({0}, {1}, {2}, {3})", index, x, y, z);
		}

		/// <summary>
		/// Binding for glVertexAttrib3dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib3dvNV != null)
						Delegates.pglVertexAttrib3dvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
				}
			}
			LogProc("glVertexAttrib3dvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib3dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib3dvNV != null)
					Delegates.pglVertexAttrib3dvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
			}
			LogProc("glVertexAttrib3dvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib3fNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, float x, float y, float z) {
			if      (Delegates.pglVertexAttrib3fNV != null)
				Delegates.pglVertexAttrib3fNV(index, x, y, z);
			else
				throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
			LogProc("glVertexAttrib3fNV({0}, {1}, {2}, {3})", index, x, y, z);
		}

		/// <summary>
		/// Binding for glVertexAttrib3fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib3fvNV != null)
						Delegates.pglVertexAttrib3fvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
				}
			}
			LogProc("glVertexAttrib3fvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib3fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib3fvNV != null)
					Delegates.pglVertexAttrib3fvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
			}
			LogProc("glVertexAttrib3fvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib3hNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, UInt16 x, UInt16 y, UInt16 z) {
			if      (Delegates.pglVertexAttrib3hNV != null)
				Delegates.pglVertexAttrib3hNV(index, x, y, z);
			else
				throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
			LogProc("glVertexAttrib3hNV({0}, {1}, {2}, {3})", index, x, y, z);
		}

		/// <summary>
		/// Binding for glVertexAttrib3hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3hvNV(UInt32 index, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib3hvNV != null)
						Delegates.pglVertexAttrib3hvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib3hvNV cannot be found");
				}
			}
			LogProc("glVertexAttrib3hvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib3sNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, Int16 x, Int16 y, Int16 z) {
			if      (Delegates.pglVertexAttrib3sNV != null)
				Delegates.pglVertexAttrib3sNV(index, x, y, z);
			else
				throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
			LogProc("glVertexAttrib3sNV({0}, {1}, {2}, {3})", index, x, y, z);
		}

		/// <summary>
		/// Binding for glVertexAttrib3svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib3NV(UInt32 index, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib3svNV != null)
						Delegates.pglVertexAttrib3svNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib3NV cannot be found");
				}
			}
			LogProc("glVertexAttrib3svNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib4dNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, double x, double y, double z, double w) {
			if      (Delegates.pglVertexAttrib4dNV != null)
				Delegates.pglVertexAttrib4dNV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
			LogProc("glVertexAttrib4dNV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttrib4dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib4dvNV != null)
						Delegates.pglVertexAttrib4dvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
				}
			}
			LogProc("glVertexAttrib4dvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib4dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib4dvNV != null)
					Delegates.pglVertexAttrib4dvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
			}
			LogProc("glVertexAttrib4dvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib4fNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, float x, float y, float z, float w) {
			if      (Delegates.pglVertexAttrib4fNV != null)
				Delegates.pglVertexAttrib4fNV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
			LogProc("glVertexAttrib4fNV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttrib4fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib4fvNV != null)
						Delegates.pglVertexAttrib4fvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
				}
			}
			LogProc("glVertexAttrib4fvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib4fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttrib4fvNV != null)
					Delegates.pglVertexAttrib4fvNV(index, v);
				else
					throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
			}
			LogProc("glVertexAttrib4fvNV({0}, {1})", index, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttrib4hNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w) {
			if      (Delegates.pglVertexAttrib4hNV != null)
				Delegates.pglVertexAttrib4hNV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
			LogProc("glVertexAttrib4hNV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttrib4hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4hvNV(UInt32 index, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib4hvNV != null)
						Delegates.pglVertexAttrib4hvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib4hvNV cannot be found");
				}
			}
			LogProc("glVertexAttrib4hvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib4sNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Int16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) {
			if      (Delegates.pglVertexAttrib4sNV != null)
				Delegates.pglVertexAttrib4sNV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
			LogProc("glVertexAttrib4sNV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttrib4svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4NV(UInt32 index, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib4svNV != null)
						Delegates.pglVertexAttrib4svNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib4NV cannot be found");
				}
			}
			LogProc("glVertexAttrib4svNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttrib4ubNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Byte"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Byte"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Byte"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Byte"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4ubNV(UInt32 index, byte x, byte y, byte z, byte w) {
			if      (Delegates.pglVertexAttrib4ubNV != null)
				Delegates.pglVertexAttrib4ubNV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttrib4ubNV cannot be found");
			LogProc("glVertexAttrib4ubNV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttrib4ubvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttrib4ubNV(UInt32 index, byte[] v) {
			unsafe {
				fixed (byte* fp_v = v)
				{
					if      (Delegates.pglVertexAttrib4ubvNV != null)
						Delegates.pglVertexAttrib4ubvNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttrib4ubNV cannot be found");
				}
			}
			LogProc("glVertexAttrib4ubvNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribFormatNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="normalized">
		/// A <see cref="T:System.Boolean"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribFormatNV(UInt32 index, int size, int type, bool normalized, Int32 stride) {
			if      (Delegates.pglVertexAttribFormatNV != null)
				Delegates.pglVertexAttribFormatNV(index, size, type, normalized, stride);
			else
				throw new InvalidOperationException("binding point VertexAttribFormatNV cannot be found");
			LogProc("glVertexAttribFormatNV({0}, {1}, {2}, {3}, {4})", index, size, type, normalized, stride);
		}

		/// <summary>
		/// Binding for glVertexAttribIFormatNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribIFormatNV(UInt32 index, int size, int type, Int32 stride) {
			if      (Delegates.pglVertexAttribIFormatNV != null)
				Delegates.pglVertexAttribIFormatNV(index, size, type, stride);
			else
				throw new InvalidOperationException("binding point VertexAttribIFormatNV cannot be found");
			LogProc("glVertexAttribIFormatNV({0}, {1}, {2}, {3})", index, size, type, stride);
		}

		/// <summary>
		/// Binding for glVertexAttribL1i64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL1NV(UInt32 index, Int64 x) {
			if      (Delegates.pglVertexAttribL1i64NV != null)
				Delegates.pglVertexAttribL1i64NV(index, x);
			else
				throw new InvalidOperationException("binding point VertexAttribL1NV cannot be found");
			LogProc("glVertexAttribL1i64NV({0}, {1})", index, x);
		}

		/// <summary>
		/// Binding for glVertexAttribL1i64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL1NV(UInt32 index, Int64[] v) {
			unsafe {
				fixed (Int64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL1i64vNV != null)
						Delegates.pglVertexAttribL1i64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL1NV cannot be found");
				}
			}
			LogProc("glVertexAttribL1i64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL1ui64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL1NV(UInt32 index, UInt64 x) {
			if      (Delegates.pglVertexAttribL1ui64NV != null)
				Delegates.pglVertexAttribL1ui64NV(index, x);
			else
				throw new InvalidOperationException("binding point VertexAttribL1NV cannot be found");
			LogProc("glVertexAttribL1ui64NV({0}, {1})", index, x);
		}

		/// <summary>
		/// Binding for glVertexAttribL1ui64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL1NV(UInt32 index, UInt64[] v) {
			unsafe {
				fixed (UInt64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL1ui64vNV != null)
						Delegates.pglVertexAttribL1ui64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL1NV cannot be found");
				}
			}
			LogProc("glVertexAttribL1ui64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL2i64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL2NV(UInt32 index, Int64 x, Int64 y) {
			if      (Delegates.pglVertexAttribL2i64NV != null)
				Delegates.pglVertexAttribL2i64NV(index, x, y);
			else
				throw new InvalidOperationException("binding point VertexAttribL2NV cannot be found");
			LogProc("glVertexAttribL2i64NV({0}, {1}, {2})", index, x, y);
		}

		/// <summary>
		/// Binding for glVertexAttribL2i64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL2NV(UInt32 index, Int64[] v) {
			unsafe {
				fixed (Int64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL2i64vNV != null)
						Delegates.pglVertexAttribL2i64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL2NV cannot be found");
				}
			}
			LogProc("glVertexAttribL2i64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL2ui64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL2NV(UInt32 index, UInt64 x, UInt64 y) {
			if      (Delegates.pglVertexAttribL2ui64NV != null)
				Delegates.pglVertexAttribL2ui64NV(index, x, y);
			else
				throw new InvalidOperationException("binding point VertexAttribL2NV cannot be found");
			LogProc("glVertexAttribL2ui64NV({0}, {1}, {2})", index, x, y);
		}

		/// <summary>
		/// Binding for glVertexAttribL2ui64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL2NV(UInt32 index, UInt64[] v) {
			unsafe {
				fixed (UInt64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL2ui64vNV != null)
						Delegates.pglVertexAttribL2ui64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL2NV cannot be found");
				}
			}
			LogProc("glVertexAttribL2ui64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL3i64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL3NV(UInt32 index, Int64 x, Int64 y, Int64 z) {
			if      (Delegates.pglVertexAttribL3i64NV != null)
				Delegates.pglVertexAttribL3i64NV(index, x, y, z);
			else
				throw new InvalidOperationException("binding point VertexAttribL3NV cannot be found");
			LogProc("glVertexAttribL3i64NV({0}, {1}, {2}, {3})", index, x, y, z);
		}

		/// <summary>
		/// Binding for glVertexAttribL3i64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL3NV(UInt32 index, Int64[] v) {
			unsafe {
				fixed (Int64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL3i64vNV != null)
						Delegates.pglVertexAttribL3i64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL3NV cannot be found");
				}
			}
			LogProc("glVertexAttribL3i64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL3ui64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL3NV(UInt32 index, UInt64 x, UInt64 y, UInt64 z) {
			if      (Delegates.pglVertexAttribL3ui64NV != null)
				Delegates.pglVertexAttribL3ui64NV(index, x, y, z);
			else
				throw new InvalidOperationException("binding point VertexAttribL3NV cannot be found");
			LogProc("glVertexAttribL3ui64NV({0}, {1}, {2}, {3})", index, x, y, z);
		}

		/// <summary>
		/// Binding for glVertexAttribL3ui64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL3NV(UInt32 index, UInt64[] v) {
			unsafe {
				fixed (UInt64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL3ui64vNV != null)
						Delegates.pglVertexAttribL3ui64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL3NV cannot be found");
				}
			}
			LogProc("glVertexAttribL3ui64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL4i64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.Int64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL4NV(UInt32 index, Int64 x, Int64 y, Int64 z, Int64 w) {
			if      (Delegates.pglVertexAttribL4i64NV != null)
				Delegates.pglVertexAttribL4i64NV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttribL4NV cannot be found");
			LogProc("glVertexAttribL4i64NV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttribL4i64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL4NV(UInt32 index, Int64[] v) {
			unsafe {
				fixed (Int64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL4i64vNV != null)
						Delegates.pglVertexAttribL4i64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL4NV cannot be found");
				}
			}
			LogProc("glVertexAttribL4i64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribL4ui64NV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="x">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="y">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="z">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// <param name="w">
		/// A <see cref="T:System.UInt64"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL4NV(UInt32 index, UInt64 x, UInt64 y, UInt64 z, UInt64 w) {
			if      (Delegates.pglVertexAttribL4ui64NV != null)
				Delegates.pglVertexAttribL4ui64NV(index, x, y, z, w);
			else
				throw new InvalidOperationException("binding point VertexAttribL4NV cannot be found");
			LogProc("glVertexAttribL4ui64NV({0}, {1}, {2}, {3}, {4})", index, x, y, z, w);
		}

		/// <summary>
		/// Binding for glVertexAttribL4ui64vNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt64*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribL4NV(UInt32 index, UInt64[] v) {
			unsafe {
				fixed (UInt64* fp_v = v)
				{
					if      (Delegates.pglVertexAttribL4ui64vNV != null)
						Delegates.pglVertexAttribL4ui64vNV(index, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribL4NV cannot be found");
				}
			}
			LogProc("glVertexAttribL4ui64vNV({0}, {1})", index, v);
		}

		/// <summary>
		/// Binding for glVertexAttribLFormatNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 4.1
		public static void VertexAttribLFormatNV(UInt32 index, int size, int type, Int32 stride) {
			if      (Delegates.pglVertexAttribLFormatNV != null)
				Delegates.pglVertexAttribLFormatNV(index, size, type, stride);
			else
				throw new InvalidOperationException("binding point VertexAttribLFormatNV cannot be found");
			LogProc("glVertexAttribLFormatNV({0}, {1}, {2}, {3})", index, size, type, stride);
		}

		/// <summary>
		/// Binding for glVertexAttribPointerNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="fsize">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="pointer">
		/// A <see cref="T:System.IntPtr"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribPointerNV(UInt32 index, int fsize, int type, Int32 stride, object pointer) {
			GCHandle pp_pointer = GCHandle.Alloc(pointer, GCHandleType.Pinned);
			try {
				if      (Delegates.pglVertexAttribPointerNV != null)
					Delegates.pglVertexAttribPointerNV(index, fsize, type, stride, pp_pointer.AddrOfPinnedObject());
				else
					throw new InvalidOperationException("binding point VertexAttribPointerNV cannot be found");
			} finally {
				pp_pointer.Free();
			}
			LogProc("glVertexAttribPointerNV({0}, {1}, {2}, {3}, {4})", index, fsize, type, stride, pointer);
		}

		/// <summary>
		/// Binding for glVertexAttribs1dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs1NV(UInt32 index, Int32 count, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs1dvNV != null)
						Delegates.pglVertexAttribs1dvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs1NV cannot be found");
				}
			}
			LogProc("glVertexAttribs1dvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs1dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs1NV(UInt32 index, Int32 count, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs1dvNV != null)
					Delegates.pglVertexAttribs1dvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs1NV cannot be found");
			}
			LogProc("glVertexAttribs1dvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs1fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs1NV(UInt32 index, Int32 count, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs1fvNV != null)
						Delegates.pglVertexAttribs1fvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs1NV cannot be found");
				}
			}
			LogProc("glVertexAttribs1fvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs1fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs1NV(UInt32 index, Int32 count, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs1fvNV != null)
					Delegates.pglVertexAttribs1fvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs1NV cannot be found");
			}
			LogProc("glVertexAttribs1fvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs1hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs1hvNV(UInt32 index, Int32 n, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs1hvNV != null)
						Delegates.pglVertexAttribs1hvNV(index, n, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs1hvNV cannot be found");
				}
			}
			LogProc("glVertexAttribs1hvNV({0}, {1}, {2})", index, n, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs1svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs1NV(UInt32 index, Int32 count, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs1svNV != null)
						Delegates.pglVertexAttribs1svNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs1NV cannot be found");
				}
			}
			LogProc("glVertexAttribs1svNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs2dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs2NV(UInt32 index, Int32 count, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs2dvNV != null)
						Delegates.pglVertexAttribs2dvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs2NV cannot be found");
				}
			}
			LogProc("glVertexAttribs2dvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs2dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs2NV(UInt32 index, Int32 count, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs2dvNV != null)
					Delegates.pglVertexAttribs2dvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs2NV cannot be found");
			}
			LogProc("glVertexAttribs2dvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs2fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs2NV(UInt32 index, Int32 count, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs2fvNV != null)
						Delegates.pglVertexAttribs2fvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs2NV cannot be found");
				}
			}
			LogProc("glVertexAttribs2fvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs2fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs2NV(UInt32 index, Int32 count, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs2fvNV != null)
					Delegates.pglVertexAttribs2fvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs2NV cannot be found");
			}
			LogProc("glVertexAttribs2fvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs2hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs2hvNV(UInt32 index, Int32 n, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs2hvNV != null)
						Delegates.pglVertexAttribs2hvNV(index, n, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs2hvNV cannot be found");
				}
			}
			LogProc("glVertexAttribs2hvNV({0}, {1}, {2})", index, n, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs2svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs2NV(UInt32 index, Int32 count, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs2svNV != null)
						Delegates.pglVertexAttribs2svNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs2NV cannot be found");
				}
			}
			LogProc("glVertexAttribs2svNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs3dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs3NV(UInt32 index, Int32 count, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs3dvNV != null)
						Delegates.pglVertexAttribs3dvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs3NV cannot be found");
				}
			}
			LogProc("glVertexAttribs3dvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs3dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs3NV(UInt32 index, Int32 count, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs3dvNV != null)
					Delegates.pglVertexAttribs3dvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs3NV cannot be found");
			}
			LogProc("glVertexAttribs3dvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs3fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs3NV(UInt32 index, Int32 count, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs3fvNV != null)
						Delegates.pglVertexAttribs3fvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs3NV cannot be found");
				}
			}
			LogProc("glVertexAttribs3fvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs3fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs3NV(UInt32 index, Int32 count, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs3fvNV != null)
					Delegates.pglVertexAttribs3fvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs3NV cannot be found");
			}
			LogProc("glVertexAttribs3fvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs3hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs3hvNV(UInt32 index, Int32 n, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs3hvNV != null)
						Delegates.pglVertexAttribs3hvNV(index, n, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs3hvNV cannot be found");
				}
			}
			LogProc("glVertexAttribs3hvNV({0}, {1}, {2})", index, n, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs3svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs3NV(UInt32 index, Int32 count, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs3svNV != null)
						Delegates.pglVertexAttribs3svNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs3NV cannot be found");
				}
			}
			LogProc("glVertexAttribs3svNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs4dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4NV(UInt32 index, Int32 count, double[] v) {
			unsafe {
				fixed (double* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs4dvNV != null)
						Delegates.pglVertexAttribs4dvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs4NV cannot be found");
				}
			}
			LogProc("glVertexAttribs4dvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs4dvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4NV(UInt32 index, Int32 count, double* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs4dvNV != null)
					Delegates.pglVertexAttribs4dvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs4NV cannot be found");
			}
			LogProc("glVertexAttribs4dvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs4fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4NV(UInt32 index, Int32 count, float[] v) {
			unsafe {
				fixed (float* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs4fvNV != null)
						Delegates.pglVertexAttribs4fvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs4NV cannot be found");
				}
			}
			LogProc("glVertexAttribs4fvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs4fvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4NV(UInt32 index, Int32 count, float* v) {
			unsafe {
				if      (Delegates.pglVertexAttribs4fvNV != null)
					Delegates.pglVertexAttribs4fvNV(index, count, v);
				else
					throw new InvalidOperationException("binding point VertexAttribs4NV cannot be found");
			}
			LogProc("glVertexAttribs4fvNV({0}, {1}, {2})", index, count, "v");
		}
		

		/// <summary>
		/// Binding for glVertexAttribs4hvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="n">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4hvNV(UInt32 index, Int32 n, UInt16[] v) {
			unsafe {
				fixed (UInt16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs4hvNV != null)
						Delegates.pglVertexAttribs4hvNV(index, n, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs4hvNV cannot be found");
				}
			}
			LogProc("glVertexAttribs4hvNV({0}, {1}, {2})", index, n, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs4svNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Int16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4NV(UInt32 index, Int32 count, Int16[] v) {
			unsafe {
				fixed (Int16* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs4svNV != null)
						Delegates.pglVertexAttribs4svNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs4NV cannot be found");
				}
			}
			LogProc("glVertexAttribs4svNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexAttribs4ubvNV function.
		/// </summary>
		/// <param name="index">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="count">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="v">
		/// A <see cref="T:System.Byte*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexAttribs4NV(UInt32 index, Int32 count, byte[] v) {
			unsafe {
				fixed (byte* fp_v = v)
				{
					if      (Delegates.pglVertexAttribs4ubvNV != null)
						Delegates.pglVertexAttribs4ubvNV(index, count, fp_v);
					else
						throw new InvalidOperationException("binding point VertexAttribs4NV cannot be found");
				}
			}
			LogProc("glVertexAttribs4ubvNV({0}, {1}, {2})", index, count, v);
		}

		/// <summary>
		/// Binding for glVertexFormatNV function.
		/// </summary>
		/// <param name="size">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="type">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="stride">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexFormatNV(int size, int type, Int32 stride) {
			if      (Delegates.pglVertexFormatNV != null)
				Delegates.pglVertexFormatNV(size, type, stride);
			else
				throw new InvalidOperationException("binding point VertexFormatNV cannot be found");
			LogProc("glVertexFormatNV({0}, {1}, {2})", size, type, stride);
		}

		/// <summary>
		/// Binding for glVertexWeighthNV function.
		/// </summary>
		/// <param name="weight">
		/// A <see cref="T:System.UInt16"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexWeighthNV(UInt16 weight) {
			if      (Delegates.pglVertexWeighthNV != null)
				Delegates.pglVertexWeighthNV(weight);
			else
				throw new InvalidOperationException("binding point VertexWeighthNV cannot be found");
			LogProc("glVertexWeighthNV({0})", weight);
		}

		/// <summary>
		/// Binding for glVertexWeighthvNV function.
		/// </summary>
		/// <param name="weight">
		/// A <see cref="T:System.UInt16*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VertexWeighthNV(UInt16[] weight) {
			unsafe {
				fixed (UInt16* fp_weight = weight)
				{
					if      (Delegates.pglVertexWeighthvNV != null)
						Delegates.pglVertexWeighthvNV(fp_weight);
					else
						throw new InvalidOperationException("binding point VertexWeighthNV cannot be found");
				}
			}
			LogProc("glVertexWeighthvNV({0})", weight);
		}

		/// <summary>
		/// Binding for glVideoCaptureNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="sequence_num">
		/// A <see cref="T:System.UInt32"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// <param name="capture_time">
		/// A <see cref="T:System.UInt64"/>.
		/// This parameter holds data returned from function.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static int VideoCaptureNV(UInt32 video_capture_slot, [Out] out UInt32 sequence_num, [Out] out UInt64 capture_time) {
			int retvalue;
			unsafe {
				fixed (UInt32* fp_sequence_num = &sequence_num)
				fixed (UInt64* fp_capture_time = &capture_time)
				{
					if      (Delegates.pglVideoCaptureNV != null)
						retvalue = (Delegates.pglVideoCaptureNV(video_capture_slot, fp_sequence_num, fp_capture_time));
					else
						throw new InvalidOperationException("binding point VideoCaptureNV cannot be found");
				}
			}
			LogProc("glVideoCaptureNV({0}, {1}, {2}) = {3}", video_capture_slot, sequence_num, capture_time, retvalue);
			return (retvalue);
		}

		/// <summary>
		/// Binding for glVideoCaptureStreamParameterdvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VideoCaptureStreamParameterNV(UInt32 video_capture_slot, UInt32 stream, int pname, double[] @params) {
			unsafe {
				fixed (double* fp_params = @params)
				{
					if      (Delegates.pglVideoCaptureStreamParameterdvNV != null)
						Delegates.pglVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point VideoCaptureStreamParameterNV cannot be found");
				}
			}
			LogProc("glVideoCaptureStreamParameterdvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}

		/// <summary>
		/// Binding for glVideoCaptureStreamParameterdvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Double"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VideoCaptureStreamParameterNV(UInt32 video_capture_slot, UInt32 stream, int pname, double* @params) {
			unsafe {
				if      (Delegates.pglVideoCaptureStreamParameterdvNV != null)
					Delegates.pglVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, @params);
				else
					throw new InvalidOperationException("binding point VideoCaptureStreamParameterNV cannot be found");
			}
			LogProc("glVideoCaptureStreamParameterdvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glVideoCaptureStreamParameterfvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VideoCaptureStreamParameterNV(UInt32 video_capture_slot, UInt32 stream, int pname, float[] @params) {
			unsafe {
				fixed (float* fp_params = @params)
				{
					if      (Delegates.pglVideoCaptureStreamParameterfvNV != null)
						Delegates.pglVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point VideoCaptureStreamParameterNV cannot be found");
				}
			}
			LogProc("glVideoCaptureStreamParameterfvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}

		/// <summary>
		/// Binding for glVideoCaptureStreamParameterfvNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Single"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VideoCaptureStreamParameterNV(UInt32 video_capture_slot, UInt32 stream, int pname, float* @params) {
			unsafe {
				if      (Delegates.pglVideoCaptureStreamParameterfvNV != null)
					Delegates.pglVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, @params);
				else
					throw new InvalidOperationException("binding point VideoCaptureStreamParameterNV cannot be found");
			}
			LogProc("glVideoCaptureStreamParameterfvNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, "@params");
		}
		

		/// <summary>
		/// Binding for glVideoCaptureStreamParameterivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32*"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VideoCaptureStreamParameterNV(UInt32 video_capture_slot, UInt32 stream, int pname, int[] @params) {
			unsafe {
				fixed (int* fp_params = @params)
				{
					if      (Delegates.pglVideoCaptureStreamParameterivNV != null)
						Delegates.pglVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, fp_params);
					else
						throw new InvalidOperationException("binding point VideoCaptureStreamParameterNV cannot be found");
				}
			}
			LogProc("glVideoCaptureStreamParameterivNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, @params);
		}

		/// <summary>
		/// Binding for glVideoCaptureStreamParameterivNV function.
		/// </summary>
		/// <param name="video_capture_slot">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="stream">
		/// A <see cref="T:System.UInt32"/>.
		/// </param>
		/// <param name="pname">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// <param name="params">
		/// A <see cref="T:System.Int32"/>.
		/// </param>
		/// @note This routine is available from OpenGL 1.2
		public static void VideoCaptureStreamParameterNV(UInt32 video_capture_slot, UInt32 stream, int pname, int* @params) {
			unsafe {
				if      (Delegates.pglVideoCaptureStreamParameterivNV != null)
					Delegates.pglVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, @params);
				else
					throw new InvalidOperationException("binding point VideoCaptureStreamParameterNV cannot be found");
			}
			LogProc("glVideoCaptureStreamParameterivNV({0}, {1}, {2}, {3})", video_capture_slot, stream, pname, "@params");
		}
		

		internal static partial class Delegates
		{
			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glActiveVaryingNV(UInt32 program, string name);
			[ThreadStatic]
			internal static glActiveVaryingNV pglActiveVaryingNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate bool glAreProgramsResidentNV(Int32 n, UInt32* programs, [Out] bool* residences);
			[ThreadStatic]
			internal static glAreProgramsResidentNV pglAreProgramsResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBeginConditionalRenderNV(UInt32 id, int mode);
			[ThreadStatic]
			internal static glBeginConditionalRenderNV pglBeginConditionalRenderNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBeginOcclusionQueryNV(UInt32 id);
			[ThreadStatic]
			internal static glBeginOcclusionQueryNV pglBeginOcclusionQueryNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBeginTransformFeedbackNV(int primitiveMode);
			[ThreadStatic]
			internal static glBeginTransformFeedbackNV pglBeginTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBeginVideoCaptureNV(UInt32 video_capture_slot);
			[ThreadStatic]
			internal static glBeginVideoCaptureNV pglBeginVideoCaptureNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindBufferBaseNV(int target, UInt32 index, UInt32 buffer);
			[ThreadStatic]
			internal static glBindBufferBaseNV pglBindBufferBaseNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset);
			[ThreadStatic]
			internal static glBindBufferOffsetNV pglBindBufferOffsetNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, UInt32 size);
			[ThreadStatic]
			internal static glBindBufferRangeNV pglBindBufferRangeNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindProgramNV(int target, UInt32 id);
			[ThreadStatic]
			internal static glBindProgramNV pglBindProgramNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindTransformFeedbackNV(int target, UInt32 id);
			[ThreadStatic]
			internal static glBindTransformFeedbackNV pglBindTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindVideoCaptureStreamBufferNV(UInt32 video_capture_slot, UInt32 stream, int frame_region, IntPtr offset);
			[ThreadStatic]
			internal static glBindVideoCaptureStreamBufferNV pglBindVideoCaptureStreamBufferNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBindVideoCaptureStreamTextureNV(UInt32 video_capture_slot, UInt32 stream, int frame_region, int target, UInt32 texture);
			[ThreadStatic]
			internal static glBindVideoCaptureStreamTextureNV pglBindVideoCaptureStreamTextureNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glBufferAddressRangeNV(int pname, UInt32 index, UInt64 address, UInt32 length);
			[ThreadStatic]
			internal static glBufferAddressRangeNV pglBufferAddressRangeNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glClearDepthdNV(double depth);
			[ThreadStatic]
			internal static glClearDepthdNV pglClearDepthdNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glColor3hNV(UInt16 red, UInt16 green, UInt16 blue);
			[ThreadStatic]
			internal static glColor3hNV pglColor3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glColor3hvNV(UInt16* v);
			[ThreadStatic]
			internal static glColor3hvNV pglColor3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glColor4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);
			[ThreadStatic]
			internal static glColor4hNV pglColor4hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glColor4hvNV(UInt16* v);
			[ThreadStatic]
			internal static glColor4hvNV pglColor4hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glColorFormatNV(int size, int type, Int32 stride);
			[ThreadStatic]
			internal static glColorFormatNV pglColorFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage);
			[ThreadStatic]
			internal static glCombinerInputNV pglCombinerInputNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, bool abDotProduct, bool cdDotProduct, bool muxSum);
			[ThreadStatic]
			internal static glCombinerOutputNV pglCombinerOutputNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glCombinerParameterfNV(int pname, float param);
			[ThreadStatic]
			internal static glCombinerParameterfNV pglCombinerParameterfNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glCombinerParameterfvNV(int pname, float* @params);
			[ThreadStatic]
			internal static glCombinerParameterfvNV pglCombinerParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glCombinerParameteriNV(int pname, int param);
			[ThreadStatic]
			internal static glCombinerParameteriNV pglCombinerParameteriNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glCombinerParameterivNV(int pname, int* @params);
			[ThreadStatic]
			internal static glCombinerParameterivNV pglCombinerParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glCombinerStageParameterfvNV(int stage, int pname, float* @params);
			[ThreadStatic]
			internal static glCombinerStageParameterfvNV pglCombinerStageParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glCopyImageSubDataNV(UInt32 srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, UInt32 dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, Int32 width, Int32 height, Int32 depth);
			[ThreadStatic]
			internal static glCopyImageSubDataNV pglCopyImageSubDataNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glDeleteFencesNV(Int32 n, UInt32* fences);
			[ThreadStatic]
			internal static glDeleteFencesNV pglDeleteFencesNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glDeleteOcclusionQueriesNV(Int32 n, UInt32* ids);
			[ThreadStatic]
			internal static glDeleteOcclusionQueriesNV pglDeleteOcclusionQueriesNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glDeleteProgramsNV(Int32 n, UInt32* programs);
			[ThreadStatic]
			internal static glDeleteProgramsNV pglDeleteProgramsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glDeleteTransformFeedbacksNV(Int32 n, UInt32* ids);
			[ThreadStatic]
			internal static glDeleteTransformFeedbacksNV pglDeleteTransformFeedbacksNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glDepthBoundsdNV(double zmin, double zmax);
			[ThreadStatic]
			internal static glDepthBoundsdNV pglDepthBoundsdNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glDepthRangedNV(double zNear, double zFar);
			[ThreadStatic]
			internal static glDepthRangedNV pglDepthRangedNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glDrawTransformFeedbackNV(int mode, UInt32 id);
			[ThreadStatic]
			internal static glDrawTransformFeedbackNV pglDrawTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glEdgeFlagFormatNV(Int32 stride);
			[ThreadStatic]
			internal static glEdgeFlagFormatNV pglEdgeFlagFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glEndConditionalRenderNV();
			[ThreadStatic]
			internal static glEndConditionalRenderNV pglEndConditionalRenderNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glEndOcclusionQueryNV();
			[ThreadStatic]
			internal static glEndOcclusionQueryNV pglEndOcclusionQueryNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glEndTransformFeedbackNV();
			[ThreadStatic]
			internal static glEndTransformFeedbackNV pglEndTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glEndVideoCaptureNV(UInt32 video_capture_slot);
			[ThreadStatic]
			internal static glEndVideoCaptureNV pglEndVideoCaptureNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glEvalMapsNV(int target, int mode);
			[ThreadStatic]
			internal static glEvalMapsNV pglEvalMapsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glExecuteProgramNV(int target, UInt32 id, float* @params);
			[ThreadStatic]
			internal static glExecuteProgramNV pglExecuteProgramNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage);
			[ThreadStatic]
			internal static glFinalCombinerInputNV pglFinalCombinerInputNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glFinishFenceNV(UInt32 fence);
			[ThreadStatic]
			internal static glFinishFenceNV pglFinishFenceNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glFlushPixelDataRangeNV(int target);
			[ThreadStatic]
			internal static glFlushPixelDataRangeNV pglFlushPixelDataRangeNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glFogCoordFormatNV(int type, Int32 stride);
			[ThreadStatic]
			internal static glFogCoordFormatNV pglFogCoordFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glFogCoordhNV(UInt16 fog);
			[ThreadStatic]
			internal static glFogCoordhNV pglFogCoordhNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glFogCoordhvNV(UInt16* fog);
			[ThreadStatic]
			internal static glFogCoordhvNV pglFogCoordhvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGenFencesNV(Int32 n, [Out] UInt32* fences);
			[ThreadStatic]
			internal static glGenFencesNV pglGenFencesNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids);
			[ThreadStatic]
			internal static glGenOcclusionQueriesNV pglGenOcclusionQueriesNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGenProgramsNV(Int32 n, [Out] UInt32* programs);
			[ThreadStatic]
			internal static glGenProgramsNV pglGenProgramsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGenTransformFeedbacksNV(Int32 n, [Out] UInt32* ids);
			[ThreadStatic]
			internal static glGenTransformFeedbacksNV pglGenTransformFeedbacksNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] StringBuilder name);
			[ThreadStatic]
			internal static glGetActiveVaryingNV pglGetActiveVaryingNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetBufferParameterui64vNV(int target, int pname, [Out] UInt64* @params);
			[ThreadStatic]
			internal static glGetBufferParameterui64vNV pglGetBufferParameterui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetCombinerInputParameterfvNV pglGetCombinerInputParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetCombinerInputParameterivNV pglGetCombinerInputParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetCombinerOutputParameterfvNV pglGetCombinerOutputParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetCombinerOutputParameterivNV pglGetCombinerOutputParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetCombinerStageParameterfvNV pglGetCombinerStageParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetFenceivNV(UInt32 fence, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetFenceivNV pglGetFenceivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetFinalCombinerInputParameterfvNV pglGetFinalCombinerInputParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetFinalCombinerInputParameterivNV pglGetFinalCombinerInputParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetIntegerui64i_vNV(int value, UInt32 index, [Out] UInt64* result);
			[ThreadStatic]
			internal static glGetIntegerui64i_vNV pglGetIntegerui64i_vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetIntegerui64vNV(int value, [Out] UInt64* result);
			[ThreadStatic]
			internal static glGetIntegerui64vNV pglGetIntegerui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetMapAttribParameterfvNV pglGetMapAttribParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetMapAttribParameterivNV pglGetMapAttribParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glGetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points);
			[ThreadStatic]
			internal static glGetMapControlPointsNV pglGetMapControlPointsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetMapParameterfvNV(int target, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetMapParameterfvNV pglGetMapParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetMapParameterivNV(int target, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetMapParameterivNV pglGetMapParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetMultisamplefvNV(int pname, UInt32 index, [Out] float* val);
			[ThreadStatic]
			internal static glGetMultisamplefvNV pglGetMultisamplefvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetNamedBufferParameterui64vNV(UInt32 buffer, int pname, [Out] UInt64* @params);
			[ThreadStatic]
			internal static glGetNamedBufferParameterui64vNV pglGetNamedBufferParameterui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetOcclusionQueryivNV pglGetOcclusionQueryivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] UInt32* @params);
			[ThreadStatic]
			internal static glGetOcclusionQueryuivNV pglGetOcclusionQueryuivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] int* @params);
			[ThreadStatic]
			internal static glGetProgramEnvParameterIivNV pglGetProgramEnvParameterIivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] UInt32* @params);
			[ThreadStatic]
			internal static glGetProgramEnvParameterIuivNV pglGetProgramEnvParameterIuivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramivNV(UInt32 id, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetProgramivNV pglGetProgramivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] int* @params);
			[ThreadStatic]
			internal static glGetProgramLocalParameterIivNV pglGetProgramLocalParameterIivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] UInt32* @params);
			[ThreadStatic]
			internal static glGetProgramLocalParameterIuivNV pglGetProgramLocalParameterIuivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, byte* name, [Out] double* @params);
			[ThreadStatic]
			internal static glGetProgramNamedParameterdvNV pglGetProgramNamedParameterdvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, byte* name, [Out] float* @params);
			[ThreadStatic]
			internal static glGetProgramNamedParameterfvNV pglGetProgramNamedParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] double* @params);
			[ThreadStatic]
			internal static glGetProgramParameterdvNV pglGetProgramParameterdvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetProgramParameterfvNV pglGetProgramParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramStringNV(UInt32 id, int pname, [Out] byte* program);
			[ThreadStatic]
			internal static glGetProgramStringNV pglGetProgramStringNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetProgramSubroutineParameteruivNV(int target, UInt32 index, [Out] UInt32* param);
			[ThreadStatic]
			internal static glGetProgramSubroutineParameteruivNV pglGetProgramSubroutineParameteruivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetTrackMatrixivNV pglGetTrackMatrixivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] int* location);
			[ThreadStatic]
			internal static glGetTransformFeedbackVaryingNV pglGetTransformFeedbackVaryingNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetUniformi64vNV(UInt32 program, int location, [Out] Int64* @params);
			[ThreadStatic]
			internal static glGetUniformi64vNV pglGetUniformi64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetUniformui64vNV(UInt32 program, int location, [Out] UInt64* @params);
			[ThreadStatic]
			internal static glGetUniformui64vNV pglGetUniformui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate int glGetVaryingLocationNV(UInt32 program, string name);
			[ThreadStatic]
			internal static glGetVaryingLocationNV pglGetVaryingLocationNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] double* @params);
			[ThreadStatic]
			internal static glGetVertexAttribdvNV pglGetVertexAttribdvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetVertexAttribfvNV pglGetVertexAttribfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVertexAttribivNV(UInt32 index, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetVertexAttribivNV pglGetVertexAttribivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVertexAttribLi64vNV(UInt32 index, int pname, [Out] Int64* @params);
			[ThreadStatic]
			internal static glGetVertexAttribLi64vNV pglGetVertexAttribLi64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVertexAttribLui64vNV(UInt32 index, int pname, [Out] UInt64* @params);
			[ThreadStatic]
			internal static glGetVertexAttribLui64vNV pglGetVertexAttribLui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVertexAttribPointervNV(UInt32 index, int pname, [Out] IntPtr* pointer);
			[ThreadStatic]
			internal static glGetVertexAttribPointervNV pglGetVertexAttribPointervNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoCaptureivNV(UInt32 video_capture_slot, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetVideoCaptureivNV pglGetVideoCaptureivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoCaptureStreamdvNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out] double* @params);
			[ThreadStatic]
			internal static glGetVideoCaptureStreamdvNV pglGetVideoCaptureStreamdvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoCaptureStreamfvNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out] float* @params);
			[ThreadStatic]
			internal static glGetVideoCaptureStreamfvNV pglGetVideoCaptureStreamfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoCaptureStreamivNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetVideoCaptureStreamivNV pglGetVideoCaptureStreamivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoi64vNV(UInt32 video_slot, int pname, [Out] Int64* @params);
			[ThreadStatic]
			internal static glGetVideoi64vNV pglGetVideoi64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoivNV(UInt32 video_slot, int pname, [Out] int* @params);
			[ThreadStatic]
			internal static glGetVideoivNV pglGetVideoivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideoui64vNV(UInt32 video_slot, int pname, [Out] UInt64* @params);
			[ThreadStatic]
			internal static glGetVideoui64vNV pglGetVideoui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glGetVideouivNV(UInt32 video_slot, int pname, [Out] UInt32* @params);
			[ThreadStatic]
			internal static glGetVideouivNV pglGetVideouivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glIndexFormatNV(int type, Int32 stride);
			[ThreadStatic]
			internal static glIndexFormatNV pglIndexFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glIsBufferResidentNV(int target);
			[ThreadStatic]
			internal static glIsBufferResidentNV pglIsBufferResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glIsFenceNV(UInt32 fence);
			[ThreadStatic]
			internal static glIsFenceNV pglIsFenceNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glIsNamedBufferResidentNV(UInt32 buffer);
			[ThreadStatic]
			internal static glIsNamedBufferResidentNV pglIsNamedBufferResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glIsOcclusionQueryNV(UInt32 id);
			[ThreadStatic]
			internal static glIsOcclusionQueryNV pglIsOcclusionQueryNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glIsProgramNV(UInt32 id);
			[ThreadStatic]
			internal static glIsProgramNV pglIsProgramNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glIsTransformFeedbackNV(UInt32 id);
			[ThreadStatic]
			internal static glIsTransformFeedbackNV pglIsTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glLoadProgramNV(int target, UInt32 id, Int32 len, byte* program);
			[ThreadStatic]
			internal static glLoadProgramNV pglLoadProgramNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMakeBufferNonResidentNV(int target);
			[ThreadStatic]
			internal static glMakeBufferNonResidentNV pglMakeBufferNonResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMakeBufferResidentNV(int target, int access);
			[ThreadStatic]
			internal static glMakeBufferResidentNV pglMakeBufferResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMakeNamedBufferNonResidentNV(UInt32 buffer);
			[ThreadStatic]
			internal static glMakeNamedBufferNonResidentNV pglMakeNamedBufferNonResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMakeNamedBufferResidentNV(UInt32 buffer, int access);
			[ThreadStatic]
			internal static glMakeNamedBufferResidentNV pglMakeNamedBufferResidentNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, int uorder, int vorder, bool packed, IntPtr points);
			[ThreadStatic]
			internal static glMapControlPointsNV pglMapControlPointsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glMapParameterfvNV(int target, int pname, float* @params);
			[ThreadStatic]
			internal static glMapParameterfvNV pglMapParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glMapParameterivNV(int target, int pname, int* @params);
			[ThreadStatic]
			internal static glMapParameterivNV pglMapParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMultiTexCoord1hNV(int target, UInt16 s);
			[ThreadStatic]
			internal static glMultiTexCoord1hNV pglMultiTexCoord1hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glMultiTexCoord1hvNV(int target, UInt16* v);
			[ThreadStatic]
			internal static glMultiTexCoord1hvNV pglMultiTexCoord1hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMultiTexCoord2hNV(int target, UInt16 s, UInt16 t);
			[ThreadStatic]
			internal static glMultiTexCoord2hNV pglMultiTexCoord2hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glMultiTexCoord2hvNV(int target, UInt16* v);
			[ThreadStatic]
			internal static glMultiTexCoord2hvNV pglMultiTexCoord2hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r);
			[ThreadStatic]
			internal static glMultiTexCoord3hNV pglMultiTexCoord3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glMultiTexCoord3hvNV(int target, UInt16* v);
			[ThreadStatic]
			internal static glMultiTexCoord3hvNV pglMultiTexCoord3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glMultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q);
			[ThreadStatic]
			internal static glMultiTexCoord4hNV pglMultiTexCoord4hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glMultiTexCoord4hvNV(int target, UInt16* v);
			[ThreadStatic]
			internal static glMultiTexCoord4hvNV pglMultiTexCoord4hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glNormal3hNV(UInt16 nx, UInt16 ny, UInt16 nz);
			[ThreadStatic]
			internal static glNormal3hNV pglNormal3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glNormal3hvNV(UInt16* v);
			[ThreadStatic]
			internal static glNormal3hvNV pglNormal3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glNormalFormatNV(int type, Int32 stride);
			[ThreadStatic]
			internal static glNormalFormatNV pglNormalFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPauseTransformFeedbackNV();
			[ThreadStatic]
			internal static glPauseTransformFeedbackNV pglPauseTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPixelDataRangeNV(int target, Int32 length, [Out] IntPtr pointer);
			[ThreadStatic]
			internal static glPixelDataRangeNV pglPixelDataRangeNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPointParameteriNV(int pname, int param);
			[ThreadStatic]
			internal static glPointParameteriNV pglPointParameteriNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glPointParameterivNV(int pname, int* @params);
			[ThreadStatic]
			internal static glPointParameterivNV pglPointParameterivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, int type, int target0, UInt32 fill0, int target1, UInt32 fill1, int target2, UInt32 fill2, int target3, UInt32 fill3);
			[ThreadStatic]
			internal static glPresentFrameDualFillNV pglPresentFrameDualFillNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, int type, int target0, UInt32 fill0, UInt32 key0, int target1, UInt32 fill1, UInt32 key1);
			[ThreadStatic]
			internal static glPresentFrameKeyedNV pglPresentFrameKeyedNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPrimitiveRestartIndexNV(UInt32 index);
			[ThreadStatic]
			internal static glPrimitiveRestartIndexNV pglPrimitiveRestartIndexNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glPrimitiveRestartNV();
			[ThreadStatic]
			internal static glPrimitiveRestartNV pglPrimitiveRestartNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, float* @params);
			[ThreadStatic]
			internal static glProgramBufferParametersfvNV pglProgramBufferParametersfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, int* @params);
			[ThreadStatic]
			internal static glProgramBufferParametersIivNV pglProgramBufferParametersIivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params);
			[ThreadStatic]
			internal static glProgramBufferParametersIuivNV pglProgramBufferParametersIuivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramEnvParameterI4iNV(int target, UInt32 index, int x, int y, int z, int w);
			[ThreadStatic]
			internal static glProgramEnvParameterI4iNV pglProgramEnvParameterI4iNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramEnvParameterI4ivNV(int target, UInt32 index, int* @params);
			[ThreadStatic]
			internal static glProgramEnvParameterI4ivNV pglProgramEnvParameterI4ivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramEnvParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
			[ThreadStatic]
			internal static glProgramEnvParameterI4uiNV pglProgramEnvParameterI4uiNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramEnvParameterI4uivNV(int target, UInt32 index, UInt32* @params);
			[ThreadStatic]
			internal static glProgramEnvParameterI4uivNV pglProgramEnvParameterI4uivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, int* @params);
			[ThreadStatic]
			internal static glProgramEnvParametersI4ivNV pglProgramEnvParametersI4ivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params);
			[ThreadStatic]
			internal static glProgramEnvParametersI4uivNV pglProgramEnvParametersI4uivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramLocalParameterI4iNV(int target, UInt32 index, int x, int y, int z, int w);
			[ThreadStatic]
			internal static glProgramLocalParameterI4iNV pglProgramLocalParameterI4iNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramLocalParameterI4ivNV(int target, UInt32 index, int* @params);
			[ThreadStatic]
			internal static glProgramLocalParameterI4ivNV pglProgramLocalParameterI4ivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramLocalParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
			[ThreadStatic]
			internal static glProgramLocalParameterI4uiNV pglProgramLocalParameterI4uiNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramLocalParameterI4uivNV(int target, UInt32 index, UInt32* @params);
			[ThreadStatic]
			internal static glProgramLocalParameterI4uivNV pglProgramLocalParameterI4uivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, int* @params);
			[ThreadStatic]
			internal static glProgramLocalParametersI4ivNV pglProgramLocalParametersI4ivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params);
			[ThreadStatic]
			internal static glProgramLocalParametersI4uivNV pglProgramLocalParametersI4uivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramNamedParameter4dNV(UInt32 id, Int32 len, byte* name, double x, double y, double z, double w);
			[ThreadStatic]
			internal static glProgramNamedParameter4dNV pglProgramNamedParameter4dNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, byte* name, double* v);
			[ThreadStatic]
			internal static glProgramNamedParameter4dvNV pglProgramNamedParameter4dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramNamedParameter4fNV(UInt32 id, Int32 len, byte* name, float x, float y, float z, float w);
			[ThreadStatic]
			internal static glProgramNamedParameter4fNV pglProgramNamedParameter4fNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, byte* name, float* v);
			[ThreadStatic]
			internal static glProgramNamedParameter4fvNV pglProgramNamedParameter4fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramParameter4dNV(int target, UInt32 index, double x, double y, double z, double w);
			[ThreadStatic]
			internal static glProgramParameter4dNV pglProgramParameter4dNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramParameter4dvNV(int target, UInt32 index, double* v);
			[ThreadStatic]
			internal static glProgramParameter4dvNV pglProgramParameter4dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramParameter4fNV(int target, UInt32 index, float x, float y, float z, float w);
			[ThreadStatic]
			internal static glProgramParameter4fNV pglProgramParameter4fNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramParameter4fvNV(int target, UInt32 index, float* v);
			[ThreadStatic]
			internal static glProgramParameter4fvNV pglProgramParameter4fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramParameters4dvNV(int target, UInt32 index, Int32 count, double* v);
			[ThreadStatic]
			internal static glProgramParameters4dvNV pglProgramParameters4dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramParameters4fvNV(int target, UInt32 index, Int32 count, float* v);
			[ThreadStatic]
			internal static glProgramParameters4fvNV pglProgramParameters4fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramSubroutineParametersuivNV(int target, Int32 count, UInt32* @params);
			[ThreadStatic]
			internal static glProgramSubroutineParametersuivNV pglProgramSubroutineParametersuivNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform1i64NV(UInt32 program, int location, Int64 x);
			[ThreadStatic]
			internal static glProgramUniform1i64NV pglProgramUniform1i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform1i64vNV(UInt32 program, int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glProgramUniform1i64vNV pglProgramUniform1i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform1ui64NV(UInt32 program, int location, UInt64 x);
			[ThreadStatic]
			internal static glProgramUniform1ui64NV pglProgramUniform1ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform1ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glProgramUniform1ui64vNV pglProgramUniform1ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform2i64NV(UInt32 program, int location, Int64 x, Int64 y);
			[ThreadStatic]
			internal static glProgramUniform2i64NV pglProgramUniform2i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform2i64vNV(UInt32 program, int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glProgramUniform2i64vNV pglProgramUniform2i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform2ui64NV(UInt32 program, int location, UInt64 x, UInt64 y);
			[ThreadStatic]
			internal static glProgramUniform2ui64NV pglProgramUniform2ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform2ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glProgramUniform2ui64vNV pglProgramUniform2ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform3i64NV(UInt32 program, int location, Int64 x, Int64 y, Int64 z);
			[ThreadStatic]
			internal static glProgramUniform3i64NV pglProgramUniform3i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform3i64vNV(UInt32 program, int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glProgramUniform3i64vNV pglProgramUniform3i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform3ui64NV(UInt32 program, int location, UInt64 x, UInt64 y, UInt64 z);
			[ThreadStatic]
			internal static glProgramUniform3ui64NV pglProgramUniform3ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform3ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glProgramUniform3ui64vNV pglProgramUniform3ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform4i64NV(UInt32 program, int location, Int64 x, Int64 y, Int64 z, Int64 w);
			[ThreadStatic]
			internal static glProgramUniform4i64NV pglProgramUniform4i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform4i64vNV(UInt32 program, int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glProgramUniform4i64vNV pglProgramUniform4i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniform4ui64NV(UInt32 program, int location, UInt64 x, UInt64 y, UInt64 z, UInt64 w);
			[ThreadStatic]
			internal static glProgramUniform4ui64NV pglProgramUniform4ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniform4ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glProgramUniform4ui64vNV pglProgramUniform4ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramUniformui64NV(UInt32 program, int location, UInt64 value);
			[ThreadStatic]
			internal static glProgramUniformui64NV pglProgramUniformui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glProgramUniformui64vNV(UInt32 program, int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glProgramUniformui64vNV pglProgramUniformui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glProgramVertexLimitNV(int target, int limit);
			[ThreadStatic]
			internal static glProgramVertexLimitNV pglProgramVertexLimitNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glRenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height);
			[ThreadStatic]
			internal static glRenderbufferStorageMultisampleCoverageNV pglRenderbufferStorageMultisampleCoverageNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glRequestResidentProgramsNV(Int32 n, UInt32* programs);
			[ThreadStatic]
			internal static glRequestResidentProgramsNV pglRequestResidentProgramsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glResumeTransformFeedbackNV();
			[ThreadStatic]
			internal static glResumeTransformFeedbackNV pglResumeTransformFeedbackNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glSampleMaskIndexedNV(UInt32 index, uint mask);
			[ThreadStatic]
			internal static glSampleMaskIndexedNV pglSampleMaskIndexedNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glSecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue);
			[ThreadStatic]
			internal static glSecondaryColor3hNV pglSecondaryColor3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glSecondaryColor3hvNV(UInt16* v);
			[ThreadStatic]
			internal static glSecondaryColor3hvNV pglSecondaryColor3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glSecondaryColorFormatNV(int size, int type, Int32 stride);
			[ThreadStatic]
			internal static glSecondaryColorFormatNV pglSecondaryColorFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glSetFenceNV(UInt32 fence, int condition);
			[ThreadStatic]
			internal static glSetFenceNV pglSetFenceNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate bool glTestFenceNV(UInt32 fence);
			[ThreadStatic]
			internal static glTestFenceNV pglTestFenceNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexCoord1hNV(UInt16 s);
			[ThreadStatic]
			internal static glTexCoord1hNV pglTexCoord1hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTexCoord1hvNV(UInt16* v);
			[ThreadStatic]
			internal static glTexCoord1hvNV pglTexCoord1hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexCoord2hNV(UInt16 s, UInt16 t);
			[ThreadStatic]
			internal static glTexCoord2hNV pglTexCoord2hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTexCoord2hvNV(UInt16* v);
			[ThreadStatic]
			internal static glTexCoord2hvNV pglTexCoord2hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexCoord3hNV(UInt16 s, UInt16 t, UInt16 r);
			[ThreadStatic]
			internal static glTexCoord3hNV pglTexCoord3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTexCoord3hvNV(UInt16* v);
			[ThreadStatic]
			internal static glTexCoord3hvNV pglTexCoord3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q);
			[ThreadStatic]
			internal static glTexCoord4hNV pglTexCoord4hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTexCoord4hvNV(UInt16* v);
			[ThreadStatic]
			internal static glTexCoord4hvNV pglTexCoord4hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexCoordFormatNV(int size, int type, Int32 stride);
			[ThreadStatic]
			internal static glTexCoordFormatNV pglTexCoordFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexImage2DMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations);
			[ThreadStatic]
			internal static glTexImage2DMultisampleCoverageNV pglTexImage2DMultisampleCoverageNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexImage3DMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations);
			[ThreadStatic]
			internal static glTexImage3DMultisampleCoverageNV pglTexImage3DMultisampleCoverageNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTexRenderbufferNV(int target, UInt32 renderbuffer);
			[ThreadStatic]
			internal static glTexRenderbufferNV pglTexRenderbufferNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTextureBarrierNV();
			[ThreadStatic]
			internal static glTextureBarrierNV pglTextureBarrierNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTextureImage2DMultisampleCoverageNV(UInt32 texture, int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations);
			[ThreadStatic]
			internal static glTextureImage2DMultisampleCoverageNV pglTextureImage2DMultisampleCoverageNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTextureImage2DMultisampleNV(UInt32 texture, int target, Int32 samples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations);
			[ThreadStatic]
			internal static glTextureImage2DMultisampleNV pglTextureImage2DMultisampleNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTextureImage3DMultisampleCoverageNV(UInt32 texture, int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations);
			[ThreadStatic]
			internal static glTextureImage3DMultisampleCoverageNV pglTextureImage3DMultisampleCoverageNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTextureImage3DMultisampleNV(UInt32 texture, int target, Int32 samples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations);
			[ThreadStatic]
			internal static glTextureImage3DMultisampleNV pglTextureImage3DMultisampleNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glTrackMatrixNV(int target, UInt32 address, int matrix, int transform);
			[ThreadStatic]
			internal static glTrackMatrixNV pglTrackMatrixNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTransformFeedbackAttribsNV(UInt32 count, int* attribs, int bufferMode);
			[ThreadStatic]
			internal static glTransformFeedbackAttribsNV pglTransformFeedbackAttribsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTransformFeedbackStreamAttribsNV(Int32 count, int* attribs, Int32 nbuffers, int* bufstreams, int bufferMode);
			[ThreadStatic]
			internal static glTransformFeedbackStreamAttribsNV pglTransformFeedbackStreamAttribsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, int* locations, int bufferMode);
			[ThreadStatic]
			internal static glTransformFeedbackVaryingsNV pglTransformFeedbackVaryingsNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform1i64NV(int location, Int64 x);
			[ThreadStatic]
			internal static glUniform1i64NV pglUniform1i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform1i64vNV(int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glUniform1i64vNV pglUniform1i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform1ui64NV(int location, UInt64 x);
			[ThreadStatic]
			internal static glUniform1ui64NV pglUniform1ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform1ui64vNV(int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glUniform1ui64vNV pglUniform1ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform2i64NV(int location, Int64 x, Int64 y);
			[ThreadStatic]
			internal static glUniform2i64NV pglUniform2i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform2i64vNV(int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glUniform2i64vNV pglUniform2i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform2ui64NV(int location, UInt64 x, UInt64 y);
			[ThreadStatic]
			internal static glUniform2ui64NV pglUniform2ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform2ui64vNV(int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glUniform2ui64vNV pglUniform2ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform3i64NV(int location, Int64 x, Int64 y, Int64 z);
			[ThreadStatic]
			internal static glUniform3i64NV pglUniform3i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform3i64vNV(int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glUniform3i64vNV pglUniform3i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform3ui64NV(int location, UInt64 x, UInt64 y, UInt64 z);
			[ThreadStatic]
			internal static glUniform3ui64NV pglUniform3ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform3ui64vNV(int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glUniform3ui64vNV pglUniform3ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform4i64NV(int location, Int64 x, Int64 y, Int64 z, Int64 w);
			[ThreadStatic]
			internal static glUniform4i64NV pglUniform4i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform4i64vNV(int location, Int32 count, Int64* value);
			[ThreadStatic]
			internal static glUniform4i64vNV pglUniform4i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniform4ui64NV(int location, UInt64 x, UInt64 y, UInt64 z, UInt64 w);
			[ThreadStatic]
			internal static glUniform4ui64NV pglUniform4ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniform4ui64vNV(int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glUniform4ui64vNV pglUniform4ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glUniformui64NV(int location, UInt64 value);
			[ThreadStatic]
			internal static glUniformui64NV pglUniformui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glUniformui64vNV(int location, Int32 count, UInt64* value);
			[ThreadStatic]
			internal static glUniformui64vNV pglUniformui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertex2hNV(UInt16 x, UInt16 y);
			[ThreadStatic]
			internal static glVertex2hNV pglVertex2hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertex2hvNV(UInt16* v);
			[ThreadStatic]
			internal static glVertex2hvNV pglVertex2hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertex3hNV(UInt16 x, UInt16 y, UInt16 z);
			[ThreadStatic]
			internal static glVertex3hNV pglVertex3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertex3hvNV(UInt16* v);
			[ThreadStatic]
			internal static glVertex3hvNV pglVertex3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w);
			[ThreadStatic]
			internal static glVertex4hNV pglVertex4hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertex4hvNV(UInt16* v);
			[ThreadStatic]
			internal static glVertex4hvNV pglVertex4hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib1dNV(UInt32 index, double x);
			[ThreadStatic]
			internal static glVertexAttrib1dNV pglVertexAttrib1dNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib1dvNV(UInt32 index, double* v);
			[ThreadStatic]
			internal static glVertexAttrib1dvNV pglVertexAttrib1dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib1fNV(UInt32 index, float x);
			[ThreadStatic]
			internal static glVertexAttrib1fNV pglVertexAttrib1fNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib1fvNV(UInt32 index, float* v);
			[ThreadStatic]
			internal static glVertexAttrib1fvNV pglVertexAttrib1fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib1hNV(UInt32 index, UInt16 x);
			[ThreadStatic]
			internal static glVertexAttrib1hNV pglVertexAttrib1hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib1hvNV(UInt32 index, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttrib1hvNV pglVertexAttrib1hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib1sNV(UInt32 index, Int16 x);
			[ThreadStatic]
			internal static glVertexAttrib1sNV pglVertexAttrib1sNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib1svNV(UInt32 index, Int16* v);
			[ThreadStatic]
			internal static glVertexAttrib1svNV pglVertexAttrib1svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib2dNV(UInt32 index, double x, double y);
			[ThreadStatic]
			internal static glVertexAttrib2dNV pglVertexAttrib2dNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib2dvNV(UInt32 index, double* v);
			[ThreadStatic]
			internal static glVertexAttrib2dvNV pglVertexAttrib2dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib2fNV(UInt32 index, float x, float y);
			[ThreadStatic]
			internal static glVertexAttrib2fNV pglVertexAttrib2fNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib2fvNV(UInt32 index, float* v);
			[ThreadStatic]
			internal static glVertexAttrib2fvNV pglVertexAttrib2fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib2hNV(UInt32 index, UInt16 x, UInt16 y);
			[ThreadStatic]
			internal static glVertexAttrib2hNV pglVertexAttrib2hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib2hvNV(UInt32 index, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttrib2hvNV pglVertexAttrib2hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib2sNV(UInt32 index, Int16 x, Int16 y);
			[ThreadStatic]
			internal static glVertexAttrib2sNV pglVertexAttrib2sNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib2svNV(UInt32 index, Int16* v);
			[ThreadStatic]
			internal static glVertexAttrib2svNV pglVertexAttrib2svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib3dNV(UInt32 index, double x, double y, double z);
			[ThreadStatic]
			internal static glVertexAttrib3dNV pglVertexAttrib3dNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib3dvNV(UInt32 index, double* v);
			[ThreadStatic]
			internal static glVertexAttrib3dvNV pglVertexAttrib3dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib3fNV(UInt32 index, float x, float y, float z);
			[ThreadStatic]
			internal static glVertexAttrib3fNV pglVertexAttrib3fNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib3fvNV(UInt32 index, float* v);
			[ThreadStatic]
			internal static glVertexAttrib3fvNV pglVertexAttrib3fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib3hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z);
			[ThreadStatic]
			internal static glVertexAttrib3hNV pglVertexAttrib3hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib3hvNV(UInt32 index, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttrib3hvNV pglVertexAttrib3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z);
			[ThreadStatic]
			internal static glVertexAttrib3sNV pglVertexAttrib3sNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib3svNV(UInt32 index, Int16* v);
			[ThreadStatic]
			internal static glVertexAttrib3svNV pglVertexAttrib3svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib4dNV(UInt32 index, double x, double y, double z, double w);
			[ThreadStatic]
			internal static glVertexAttrib4dNV pglVertexAttrib4dNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib4dvNV(UInt32 index, double* v);
			[ThreadStatic]
			internal static glVertexAttrib4dvNV pglVertexAttrib4dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib4fNV(UInt32 index, float x, float y, float z, float w);
			[ThreadStatic]
			internal static glVertexAttrib4fNV pglVertexAttrib4fNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib4fvNV(UInt32 index, float* v);
			[ThreadStatic]
			internal static glVertexAttrib4fvNV pglVertexAttrib4fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib4hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w);
			[ThreadStatic]
			internal static glVertexAttrib4hNV pglVertexAttrib4hNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib4hvNV(UInt32 index, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttrib4hvNV pglVertexAttrib4hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
			[ThreadStatic]
			internal static glVertexAttrib4sNV pglVertexAttrib4sNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib4svNV(UInt32 index, Int16* v);
			[ThreadStatic]
			internal static glVertexAttrib4svNV pglVertexAttrib4svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttrib4ubNV(UInt32 index, byte x, byte y, byte z, byte w);
			[ThreadStatic]
			internal static glVertexAttrib4ubNV pglVertexAttrib4ubNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttrib4ubvNV(UInt32 index, byte* v);
			[ThreadStatic]
			internal static glVertexAttrib4ubvNV pglVertexAttrib4ubvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribFormatNV(UInt32 index, int size, int type, bool normalized, Int32 stride);
			[ThreadStatic]
			internal static glVertexAttribFormatNV pglVertexAttribFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribIFormatNV(UInt32 index, int size, int type, Int32 stride);
			[ThreadStatic]
			internal static glVertexAttribIFormatNV pglVertexAttribIFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL1i64NV(UInt32 index, Int64 x);
			[ThreadStatic]
			internal static glVertexAttribL1i64NV pglVertexAttribL1i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL1i64vNV(UInt32 index, Int64* v);
			[ThreadStatic]
			internal static glVertexAttribL1i64vNV pglVertexAttribL1i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL1ui64NV(UInt32 index, UInt64 x);
			[ThreadStatic]
			internal static glVertexAttribL1ui64NV pglVertexAttribL1ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL1ui64vNV(UInt32 index, UInt64* v);
			[ThreadStatic]
			internal static glVertexAttribL1ui64vNV pglVertexAttribL1ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL2i64NV(UInt32 index, Int64 x, Int64 y);
			[ThreadStatic]
			internal static glVertexAttribL2i64NV pglVertexAttribL2i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL2i64vNV(UInt32 index, Int64* v);
			[ThreadStatic]
			internal static glVertexAttribL2i64vNV pglVertexAttribL2i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL2ui64NV(UInt32 index, UInt64 x, UInt64 y);
			[ThreadStatic]
			internal static glVertexAttribL2ui64NV pglVertexAttribL2ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL2ui64vNV(UInt32 index, UInt64* v);
			[ThreadStatic]
			internal static glVertexAttribL2ui64vNV pglVertexAttribL2ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL3i64NV(UInt32 index, Int64 x, Int64 y, Int64 z);
			[ThreadStatic]
			internal static glVertexAttribL3i64NV pglVertexAttribL3i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL3i64vNV(UInt32 index, Int64* v);
			[ThreadStatic]
			internal static glVertexAttribL3i64vNV pglVertexAttribL3i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL3ui64NV(UInt32 index, UInt64 x, UInt64 y, UInt64 z);
			[ThreadStatic]
			internal static glVertexAttribL3ui64NV pglVertexAttribL3ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL3ui64vNV(UInt32 index, UInt64* v);
			[ThreadStatic]
			internal static glVertexAttribL3ui64vNV pglVertexAttribL3ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL4i64NV(UInt32 index, Int64 x, Int64 y, Int64 z, Int64 w);
			[ThreadStatic]
			internal static glVertexAttribL4i64NV pglVertexAttribL4i64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL4i64vNV(UInt32 index, Int64* v);
			[ThreadStatic]
			internal static glVertexAttribL4i64vNV pglVertexAttribL4i64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribL4ui64NV(UInt32 index, UInt64 x, UInt64 y, UInt64 z, UInt64 w);
			[ThreadStatic]
			internal static glVertexAttribL4ui64NV pglVertexAttribL4ui64NV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribL4ui64vNV(UInt32 index, UInt64* v);
			[ThreadStatic]
			internal static glVertexAttribL4ui64vNV pglVertexAttribL4ui64vNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribLFormatNV(UInt32 index, int size, int type, Int32 stride);
			[ThreadStatic]
			internal static glVertexAttribLFormatNV pglVertexAttribLFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexAttribPointerNV(UInt32 index, int fsize, int type, Int32 stride, IntPtr pointer);
			[ThreadStatic]
			internal static glVertexAttribPointerNV pglVertexAttribPointerNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs1dvNV(UInt32 index, Int32 count, double* v);
			[ThreadStatic]
			internal static glVertexAttribs1dvNV pglVertexAttribs1dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs1fvNV(UInt32 index, Int32 count, float* v);
			[ThreadStatic]
			internal static glVertexAttribs1fvNV pglVertexAttribs1fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs1hvNV(UInt32 index, Int32 n, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttribs1hvNV pglVertexAttribs1hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs1svNV(UInt32 index, Int32 count, Int16* v);
			[ThreadStatic]
			internal static glVertexAttribs1svNV pglVertexAttribs1svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs2dvNV(UInt32 index, Int32 count, double* v);
			[ThreadStatic]
			internal static glVertexAttribs2dvNV pglVertexAttribs2dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs2fvNV(UInt32 index, Int32 count, float* v);
			[ThreadStatic]
			internal static glVertexAttribs2fvNV pglVertexAttribs2fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs2hvNV(UInt32 index, Int32 n, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttribs2hvNV pglVertexAttribs2hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs2svNV(UInt32 index, Int32 count, Int16* v);
			[ThreadStatic]
			internal static glVertexAttribs2svNV pglVertexAttribs2svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs3dvNV(UInt32 index, Int32 count, double* v);
			[ThreadStatic]
			internal static glVertexAttribs3dvNV pglVertexAttribs3dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs3fvNV(UInt32 index, Int32 count, float* v);
			[ThreadStatic]
			internal static glVertexAttribs3fvNV pglVertexAttribs3fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs3hvNV(UInt32 index, Int32 n, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttribs3hvNV pglVertexAttribs3hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs3svNV(UInt32 index, Int32 count, Int16* v);
			[ThreadStatic]
			internal static glVertexAttribs3svNV pglVertexAttribs3svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs4dvNV(UInt32 index, Int32 count, double* v);
			[ThreadStatic]
			internal static glVertexAttribs4dvNV pglVertexAttribs4dvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs4fvNV(UInt32 index, Int32 count, float* v);
			[ThreadStatic]
			internal static glVertexAttribs4fvNV pglVertexAttribs4fvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs4hvNV(UInt32 index, Int32 n, UInt16* v);
			[ThreadStatic]
			internal static glVertexAttribs4hvNV pglVertexAttribs4hvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs4svNV(UInt32 index, Int32 count, Int16* v);
			[ThreadStatic]
			internal static glVertexAttribs4svNV pglVertexAttribs4svNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexAttribs4ubvNV(UInt32 index, Int32 count, byte* v);
			[ThreadStatic]
			internal static glVertexAttribs4ubvNV pglVertexAttribs4ubvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexFormatNV(int size, int type, Int32 stride);
			[ThreadStatic]
			internal static glVertexFormatNV pglVertexFormatNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal delegate void glVertexWeighthNV(UInt16 weight);
			[ThreadStatic]
			internal static glVertexWeighthNV pglVertexWeighthNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVertexWeighthvNV(UInt16* weight);
			[ThreadStatic]
			internal static glVertexWeighthvNV pglVertexWeighthvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate int glVideoCaptureNV(UInt32 video_capture_slot, [Out] UInt32* sequence_num, [Out] UInt64* capture_time);
			[ThreadStatic]
			internal static glVideoCaptureNV pglVideoCaptureNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVideoCaptureStreamParameterdvNV(UInt32 video_capture_slot, UInt32 stream, int pname, double* @params);
			[ThreadStatic]
			internal static glVideoCaptureStreamParameterdvNV pglVideoCaptureStreamParameterdvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVideoCaptureStreamParameterfvNV(UInt32 video_capture_slot, UInt32 stream, int pname, float* @params);
			[ThreadStatic]
			internal static glVideoCaptureStreamParameterfvNV pglVideoCaptureStreamParameterfvNV = null;

			[System.Security.SuppressUnmanagedCodeSecurity()]
			internal unsafe delegate void glVideoCaptureStreamParameterivNV(UInt32 video_capture_slot, UInt32 stream, int pname, int* @params);
			[ThreadStatic]
			internal static glVideoCaptureStreamParameterivNV pglVideoCaptureStreamParameterivNV = null;

		}

		internal static partial class Imports
		{
			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glActiveVaryingNV", ExactSpelling = true)]
			internal extern static void glActiveVaryingNV(UInt32 program, string name);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glAreProgramsResidentNV", ExactSpelling = true)]
			internal extern static unsafe bool glAreProgramsResidentNV(Int32 n, UInt32* programs, [Out]bool* residences);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBeginConditionalRenderNV", ExactSpelling = true)]
			internal extern static void glBeginConditionalRenderNV(UInt32 id, int mode);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBeginOcclusionQueryNV", ExactSpelling = true)]
			internal extern static void glBeginOcclusionQueryNV(UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBeginTransformFeedbackNV", ExactSpelling = true)]
			internal extern static void glBeginTransformFeedbackNV(int primitiveMode);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBeginVideoCaptureNV", ExactSpelling = true)]
			internal extern static void glBeginVideoCaptureNV(UInt32 video_capture_slot);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindBufferBaseNV", ExactSpelling = true)]
			internal extern static void glBindBufferBaseNV(int target, UInt32 index, UInt32 buffer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindBufferOffsetNV", ExactSpelling = true)]
			internal extern static void glBindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindBufferRangeNV", ExactSpelling = true)]
			internal extern static void glBindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, UInt32 size);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindProgramNV", ExactSpelling = true)]
			internal extern static void glBindProgramNV(int target, UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindTransformFeedbackNV", ExactSpelling = true)]
			internal extern static void glBindTransformFeedbackNV(int target, UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindVideoCaptureStreamBufferNV", ExactSpelling = true)]
			internal extern static void glBindVideoCaptureStreamBufferNV(UInt32 video_capture_slot, UInt32 stream, int frame_region, IntPtr offset);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBindVideoCaptureStreamTextureNV", ExactSpelling = true)]
			internal extern static void glBindVideoCaptureStreamTextureNV(UInt32 video_capture_slot, UInt32 stream, int frame_region, int target, UInt32 texture);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glBufferAddressRangeNV", ExactSpelling = true)]
			internal extern static void glBufferAddressRangeNV(int pname, UInt32 index, UInt64 address, UInt32 length);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glClearDepthdNV", ExactSpelling = true)]
			internal extern static void glClearDepthdNV(double depth);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glColor3hNV", ExactSpelling = true)]
			internal extern static void glColor3hNV(UInt16 red, UInt16 green, UInt16 blue);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glColor3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glColor3hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glColor4hNV", ExactSpelling = true)]
			internal extern static void glColor4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glColor4hvNV", ExactSpelling = true)]
			internal extern static unsafe void glColor4hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glColorFormatNV", ExactSpelling = true)]
			internal extern static void glColorFormatNV(int size, int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerInputNV", ExactSpelling = true)]
			internal extern static void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerOutputNV", ExactSpelling = true)]
			internal extern static void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, bool abDotProduct, bool cdDotProduct, bool muxSum);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerParameterfNV", ExactSpelling = true)]
			internal extern static void glCombinerParameterfNV(int pname, float param);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glCombinerParameterfvNV(int pname, float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerParameteriNV", ExactSpelling = true)]
			internal extern static void glCombinerParameteriNV(int pname, int param);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glCombinerParameterivNV(int pname, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCombinerStageParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glCombinerStageParameterfvNV(int stage, int pname, float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glCopyImageSubDataNV", ExactSpelling = true)]
			internal extern static void glCopyImageSubDataNV(UInt32 srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, UInt32 dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, Int32 width, Int32 height, Int32 depth);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDeleteFencesNV", ExactSpelling = true)]
			internal extern static unsafe void glDeleteFencesNV(Int32 n, UInt32* fences);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDeleteOcclusionQueriesNV", ExactSpelling = true)]
			internal extern static unsafe void glDeleteOcclusionQueriesNV(Int32 n, UInt32* ids);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDeleteProgramsNV", ExactSpelling = true)]
			internal extern static unsafe void glDeleteProgramsNV(Int32 n, UInt32* programs);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDeleteTransformFeedbacksNV", ExactSpelling = true)]
			internal extern static unsafe void glDeleteTransformFeedbacksNV(Int32 n, UInt32* ids);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDepthBoundsdNV", ExactSpelling = true)]
			internal extern static void glDepthBoundsdNV(double zmin, double zmax);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDepthRangedNV", ExactSpelling = true)]
			internal extern static void glDepthRangedNV(double zNear, double zFar);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glDrawTransformFeedbackNV", ExactSpelling = true)]
			internal extern static void glDrawTransformFeedbackNV(int mode, UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glEdgeFlagFormatNV", ExactSpelling = true)]
			internal extern static void glEdgeFlagFormatNV(Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glEndConditionalRenderNV", ExactSpelling = true)]
			internal extern static void glEndConditionalRenderNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glEndOcclusionQueryNV", ExactSpelling = true)]
			internal extern static void glEndOcclusionQueryNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glEndTransformFeedbackNV", ExactSpelling = true)]
			internal extern static void glEndTransformFeedbackNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glEndVideoCaptureNV", ExactSpelling = true)]
			internal extern static void glEndVideoCaptureNV(UInt32 video_capture_slot);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glEvalMapsNV", ExactSpelling = true)]
			internal extern static void glEvalMapsNV(int target, int mode);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glExecuteProgramNV", ExactSpelling = true)]
			internal extern static unsafe void glExecuteProgramNV(int target, UInt32 id, float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glFinalCombinerInputNV", ExactSpelling = true)]
			internal extern static void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glFinishFenceNV", ExactSpelling = true)]
			internal extern static void glFinishFenceNV(UInt32 fence);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glFlushPixelDataRangeNV", ExactSpelling = true)]
			internal extern static void glFlushPixelDataRangeNV(int target);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glFogCoordFormatNV", ExactSpelling = true)]
			internal extern static void glFogCoordFormatNV(int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glFogCoordhNV", ExactSpelling = true)]
			internal extern static void glFogCoordhNV(UInt16 fog);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glFogCoordhvNV", ExactSpelling = true)]
			internal extern static unsafe void glFogCoordhvNV(UInt16* fog);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGenFencesNV", ExactSpelling = true)]
			internal extern static unsafe void glGenFencesNV(Int32 n, [Out]UInt32* fences);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGenOcclusionQueriesNV", ExactSpelling = true)]
			internal extern static unsafe void glGenOcclusionQueriesNV(Int32 n, [Out]UInt32* ids);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGenProgramsNV", ExactSpelling = true)]
			internal extern static unsafe void glGenProgramsNV(Int32 n, [Out]UInt32* programs);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGenTransformFeedbacksNV", ExactSpelling = true)]
			internal extern static unsafe void glGenTransformFeedbacksNV(Int32 n, [Out]UInt32* ids);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetActiveVaryingNV", ExactSpelling = true)]
			internal extern static unsafe void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out]Int32 length, [Out]Int32 size, [Out]int type, [Out]StringBuilder name);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetBufferParameterui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetBufferParameterui64vNV(int target, int pname, [Out]UInt64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetCombinerInputParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetCombinerInputParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetCombinerOutputParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetCombinerOutputParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetCombinerStageParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetCombinerStageParameterfvNV(int stage, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetFenceivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetFenceivNV(UInt32 fence, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetFinalCombinerInputParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetFinalCombinerInputParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetIntegerui64i_vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetIntegerui64i_vNV(int value, UInt32 index, [Out]UInt64* result);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetIntegerui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetIntegerui64vNV(int value, [Out]UInt64* result);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetMapAttribParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetMapAttribParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetMapControlPointsNV", ExactSpelling = true)]
			internal extern static void glGetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, bool packed, [Out]IntPtr points);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetMapParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetMapParameterfvNV(int target, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetMapParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetMapParameterivNV(int target, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetMultisamplefvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetMultisamplefvNV(int pname, UInt32 index, [Out]float* val);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetNamedBufferParameterui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetNamedBufferParameterui64vNV(UInt32 buffer, int pname, [Out]UInt64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetOcclusionQueryivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetOcclusionQueryuivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out]UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramEnvParameterIivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramEnvParameterIuivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out]UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramivNV(UInt32 id, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramLocalParameterIivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramLocalParameterIuivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out]UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramNamedParameterdvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, byte* name, [Out]double* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramNamedParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, byte* name, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramParameterdvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out]double* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramStringNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramStringNV(UInt32 id, int pname, [Out]byte* program);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetProgramSubroutineParameteruivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetProgramSubroutineParameteruivNV(int target, UInt32 index, [Out]UInt32* param);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetTrackMatrixivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out]int @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetTransformFeedbackVaryingNV", ExactSpelling = true)]
			internal extern static unsafe void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out]int location);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetUniformi64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetUniformi64vNV(UInt32 program, int location, [Out]Int64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetUniformui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetUniformui64vNV(UInt32 program, int location, [Out]UInt64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVaryingLocationNV", ExactSpelling = true)]
			internal extern static int glGetVaryingLocationNV(UInt32 program, string name);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVertexAttribdvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVertexAttribdvNV(UInt32 index, int pname, [Out]double @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVertexAttribfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVertexAttribfvNV(UInt32 index, int pname, [Out]float @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVertexAttribivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVertexAttribivNV(UInt32 index, int pname, [Out]int @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVertexAttribLi64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVertexAttribLi64vNV(UInt32 index, int pname, [Out]Int64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVertexAttribLui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVertexAttribLui64vNV(UInt32 index, int pname, [Out]UInt64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVertexAttribPointervNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVertexAttribPointervNV(UInt32 index, int pname, [Out]IntPtr pointer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoCaptureivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoCaptureivNV(UInt32 video_capture_slot, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoCaptureStreamdvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoCaptureStreamdvNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out]double* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoCaptureStreamfvNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoCaptureStreamfvNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out]float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoCaptureStreamivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoCaptureStreamivNV(UInt32 video_capture_slot, UInt32 stream, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoi64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoi64vNV(UInt32 video_slot, int pname, [Out]Int64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoivNV(UInt32 video_slot, int pname, [Out]int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideoui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideoui64vNV(UInt32 video_slot, int pname, [Out]UInt64* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glGetVideouivNV", ExactSpelling = true)]
			internal extern static unsafe void glGetVideouivNV(UInt32 video_slot, int pname, [Out]UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIndexFormatNV", ExactSpelling = true)]
			internal extern static void glIndexFormatNV(int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIsBufferResidentNV", ExactSpelling = true)]
			internal extern static bool glIsBufferResidentNV(int target);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIsFenceNV", ExactSpelling = true)]
			internal extern static bool glIsFenceNV(UInt32 fence);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIsNamedBufferResidentNV", ExactSpelling = true)]
			internal extern static bool glIsNamedBufferResidentNV(UInt32 buffer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIsOcclusionQueryNV", ExactSpelling = true)]
			internal extern static bool glIsOcclusionQueryNV(UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIsProgramNV", ExactSpelling = true)]
			internal extern static bool glIsProgramNV(UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glIsTransformFeedbackNV", ExactSpelling = true)]
			internal extern static bool glIsTransformFeedbackNV(UInt32 id);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glLoadProgramNV", ExactSpelling = true)]
			internal extern static unsafe void glLoadProgramNV(int target, UInt32 id, Int32 len, byte* program);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMakeBufferNonResidentNV", ExactSpelling = true)]
			internal extern static void glMakeBufferNonResidentNV(int target);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMakeBufferResidentNV", ExactSpelling = true)]
			internal extern static void glMakeBufferResidentNV(int target, int access);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMakeNamedBufferNonResidentNV", ExactSpelling = true)]
			internal extern static void glMakeNamedBufferNonResidentNV(UInt32 buffer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMakeNamedBufferResidentNV", ExactSpelling = true)]
			internal extern static void glMakeNamedBufferResidentNV(UInt32 buffer, int access);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMapControlPointsNV", ExactSpelling = true)]
			internal extern static void glMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, int uorder, int vorder, bool packed, IntPtr points);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMapParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glMapParameterfvNV(int target, int pname, float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMapParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glMapParameterivNV(int target, int pname, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord1hNV", ExactSpelling = true)]
			internal extern static void glMultiTexCoord1hNV(int target, UInt16 s);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord1hvNV", ExactSpelling = true)]
			internal extern static unsafe void glMultiTexCoord1hvNV(int target, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord2hNV", ExactSpelling = true)]
			internal extern static void glMultiTexCoord2hNV(int target, UInt16 s, UInt16 t);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord2hvNV", ExactSpelling = true)]
			internal extern static unsafe void glMultiTexCoord2hvNV(int target, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord3hNV", ExactSpelling = true)]
			internal extern static void glMultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glMultiTexCoord3hvNV(int target, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord4hNV", ExactSpelling = true)]
			internal extern static void glMultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glMultiTexCoord4hvNV", ExactSpelling = true)]
			internal extern static unsafe void glMultiTexCoord4hvNV(int target, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glNormal3hNV", ExactSpelling = true)]
			internal extern static void glNormal3hNV(UInt16 nx, UInt16 ny, UInt16 nz);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glNormal3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glNormal3hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glNormalFormatNV", ExactSpelling = true)]
			internal extern static void glNormalFormatNV(int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPauseTransformFeedbackNV", ExactSpelling = true)]
			internal extern static void glPauseTransformFeedbackNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPixelDataRangeNV", ExactSpelling = true)]
			internal extern static void glPixelDataRangeNV(int target, Int32 length, [Out]IntPtr pointer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPointParameteriNV", ExactSpelling = true)]
			internal extern static void glPointParameteriNV(int pname, int param);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPointParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glPointParameterivNV(int pname, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPresentFrameDualFillNV", ExactSpelling = true)]
			internal extern static void glPresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, int type, int target0, UInt32 fill0, int target1, UInt32 fill1, int target2, UInt32 fill2, int target3, UInt32 fill3);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPresentFrameKeyedNV", ExactSpelling = true)]
			internal extern static void glPresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, int type, int target0, UInt32 fill0, UInt32 key0, int target1, UInt32 fill1, UInt32 key1);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPrimitiveRestartIndexNV", ExactSpelling = true)]
			internal extern static void glPrimitiveRestartIndexNV(UInt32 index);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glPrimitiveRestartNV", ExactSpelling = true)]
			internal extern static void glPrimitiveRestartNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramBufferParametersfvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramBufferParametersIivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramBufferParametersIuivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramEnvParameterI4iNV", ExactSpelling = true)]
			internal extern static void glProgramEnvParameterI4iNV(int target, UInt32 index, int x, int y, int z, int w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramEnvParameterI4ivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramEnvParameterI4ivNV(int target, UInt32 index, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramEnvParameterI4uiNV", ExactSpelling = true)]
			internal extern static void glProgramEnvParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramEnvParameterI4uivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramEnvParameterI4uivNV(int target, UInt32 index, UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramEnvParametersI4ivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramEnvParametersI4uivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramLocalParameterI4iNV", ExactSpelling = true)]
			internal extern static void glProgramLocalParameterI4iNV(int target, UInt32 index, int x, int y, int z, int w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramLocalParameterI4ivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramLocalParameterI4ivNV(int target, UInt32 index, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramLocalParameterI4uiNV", ExactSpelling = true)]
			internal extern static void glProgramLocalParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramLocalParameterI4uivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramLocalParameterI4uivNV(int target, UInt32 index, UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramLocalParametersI4ivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, int* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramLocalParametersI4uivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramNamedParameter4dNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramNamedParameter4dNV(UInt32 id, Int32 len, byte* name, double x, double y, double z, double w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramNamedParameter4dvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, byte* name, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramNamedParameter4fNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramNamedParameter4fNV(UInt32 id, Int32 len, byte* name, float x, float y, float z, float w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramNamedParameter4fvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, byte* name, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramParameter4dNV", ExactSpelling = true)]
			internal extern static void glProgramParameter4dNV(int target, UInt32 index, double x, double y, double z, double w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramParameter4dvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramParameter4dvNV(int target, UInt32 index, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramParameter4fNV", ExactSpelling = true)]
			internal extern static void glProgramParameter4fNV(int target, UInt32 index, float x, float y, float z, float w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramParameter4fvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramParameter4fvNV(int target, UInt32 index, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramParameters4dvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramParameters4dvNV(int target, UInt32 index, Int32 count, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramParameters4fvNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramParameters4fvNV(int target, UInt32 index, Int32 count, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramSubroutineParametersuivNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramSubroutineParametersuivNV(int target, Int32 count, UInt32* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform1i64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform1i64NV(UInt32 program, int location, Int64 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform1i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform1i64vNV(UInt32 program, int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform1ui64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform1ui64NV(UInt32 program, int location, UInt64 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform1ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform1ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform2i64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform2i64NV(UInt32 program, int location, Int64 x, Int64 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform2i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform2i64vNV(UInt32 program, int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform2ui64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform2ui64NV(UInt32 program, int location, UInt64 x, UInt64 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform2ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform2ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform3i64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform3i64NV(UInt32 program, int location, Int64 x, Int64 y, Int64 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform3i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform3i64vNV(UInt32 program, int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform3ui64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform3ui64NV(UInt32 program, int location, UInt64 x, UInt64 y, UInt64 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform3ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform3ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform4i64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform4i64NV(UInt32 program, int location, Int64 x, Int64 y, Int64 z, Int64 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform4i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform4i64vNV(UInt32 program, int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform4ui64NV", ExactSpelling = true)]
			internal extern static void glProgramUniform4ui64NV(UInt32 program, int location, UInt64 x, UInt64 y, UInt64 z, UInt64 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniform4ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniform4ui64vNV(UInt32 program, int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniformui64NV", ExactSpelling = true)]
			internal extern static void glProgramUniformui64NV(UInt32 program, int location, UInt64 value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramUniformui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glProgramUniformui64vNV(UInt32 program, int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glProgramVertexLimitNV", ExactSpelling = true)]
			internal extern static void glProgramVertexLimitNV(int target, int limit);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glRenderbufferStorageMultisampleCoverageNV", ExactSpelling = true)]
			internal extern static void glRenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glRequestResidentProgramsNV", ExactSpelling = true)]
			internal extern static unsafe void glRequestResidentProgramsNV(Int32 n, UInt32* programs);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glResumeTransformFeedbackNV", ExactSpelling = true)]
			internal extern static void glResumeTransformFeedbackNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glSampleMaskIndexedNV", ExactSpelling = true)]
			internal extern static void glSampleMaskIndexedNV(UInt32 index, uint mask);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glSecondaryColor3hNV", ExactSpelling = true)]
			internal extern static void glSecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glSecondaryColor3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glSecondaryColor3hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glSecondaryColorFormatNV", ExactSpelling = true)]
			internal extern static void glSecondaryColorFormatNV(int size, int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glSetFenceNV", ExactSpelling = true)]
			internal extern static void glSetFenceNV(UInt32 fence, int condition);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTestFenceNV", ExactSpelling = true)]
			internal extern static bool glTestFenceNV(UInt32 fence);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord1hNV", ExactSpelling = true)]
			internal extern static void glTexCoord1hNV(UInt16 s);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord1hvNV", ExactSpelling = true)]
			internal extern static unsafe void glTexCoord1hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord2hNV", ExactSpelling = true)]
			internal extern static void glTexCoord2hNV(UInt16 s, UInt16 t);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord2hvNV", ExactSpelling = true)]
			internal extern static unsafe void glTexCoord2hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord3hNV", ExactSpelling = true)]
			internal extern static void glTexCoord3hNV(UInt16 s, UInt16 t, UInt16 r);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glTexCoord3hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord4hNV", ExactSpelling = true)]
			internal extern static void glTexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoord4hvNV", ExactSpelling = true)]
			internal extern static unsafe void glTexCoord4hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexCoordFormatNV", ExactSpelling = true)]
			internal extern static void glTexCoordFormatNV(int size, int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexImage2DMultisampleCoverageNV", ExactSpelling = true)]
			internal extern static void glTexImage2DMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexImage3DMultisampleCoverageNV", ExactSpelling = true)]
			internal extern static void glTexImage3DMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTexRenderbufferNV", ExactSpelling = true)]
			internal extern static void glTexRenderbufferNV(int target, UInt32 renderbuffer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTextureBarrierNV", ExactSpelling = true)]
			internal extern static void glTextureBarrierNV();

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTextureImage2DMultisampleCoverageNV", ExactSpelling = true)]
			internal extern static void glTextureImage2DMultisampleCoverageNV(UInt32 texture, int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTextureImage2DMultisampleNV", ExactSpelling = true)]
			internal extern static void glTextureImage2DMultisampleNV(UInt32 texture, int target, Int32 samples, int internalFormat, Int32 width, Int32 height, bool fixedSampleLocations);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTextureImage3DMultisampleCoverageNV", ExactSpelling = true)]
			internal extern static void glTextureImage3DMultisampleCoverageNV(UInt32 texture, int target, Int32 coverageSamples, Int32 colorSamples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTextureImage3DMultisampleNV", ExactSpelling = true)]
			internal extern static void glTextureImage3DMultisampleNV(UInt32 texture, int target, Int32 samples, int internalFormat, Int32 width, Int32 height, Int32 depth, bool fixedSampleLocations);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTrackMatrixNV", ExactSpelling = true)]
			internal extern static void glTrackMatrixNV(int target, UInt32 address, int matrix, int transform);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTransformFeedbackAttribsNV", ExactSpelling = true)]
			internal extern static unsafe void glTransformFeedbackAttribsNV(UInt32 count, int* attribs, int bufferMode);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTransformFeedbackStreamAttribsNV", ExactSpelling = true)]
			internal extern static unsafe void glTransformFeedbackStreamAttribsNV(Int32 count, int* attribs, Int32 nbuffers, int* bufstreams, int bufferMode);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glTransformFeedbackVaryingsNV", ExactSpelling = true)]
			internal extern static unsafe void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, int* locations, int bufferMode);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform1i64NV", ExactSpelling = true)]
			internal extern static void glUniform1i64NV(int location, Int64 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform1i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform1i64vNV(int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform1ui64NV", ExactSpelling = true)]
			internal extern static void glUniform1ui64NV(int location, UInt64 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform1ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform1ui64vNV(int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform2i64NV", ExactSpelling = true)]
			internal extern static void glUniform2i64NV(int location, Int64 x, Int64 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform2i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform2i64vNV(int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform2ui64NV", ExactSpelling = true)]
			internal extern static void glUniform2ui64NV(int location, UInt64 x, UInt64 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform2ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform2ui64vNV(int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform3i64NV", ExactSpelling = true)]
			internal extern static void glUniform3i64NV(int location, Int64 x, Int64 y, Int64 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform3i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform3i64vNV(int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform3ui64NV", ExactSpelling = true)]
			internal extern static void glUniform3ui64NV(int location, UInt64 x, UInt64 y, UInt64 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform3ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform3ui64vNV(int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform4i64NV", ExactSpelling = true)]
			internal extern static void glUniform4i64NV(int location, Int64 x, Int64 y, Int64 z, Int64 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform4i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform4i64vNV(int location, Int32 count, Int64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform4ui64NV", ExactSpelling = true)]
			internal extern static void glUniform4ui64NV(int location, UInt64 x, UInt64 y, UInt64 z, UInt64 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniform4ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniform4ui64vNV(int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniformui64NV", ExactSpelling = true)]
			internal extern static void glUniformui64NV(int location, UInt64 value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glUniformui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glUniformui64vNV(int location, Int32 count, UInt64* value);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertex2hNV", ExactSpelling = true)]
			internal extern static void glVertex2hNV(UInt16 x, UInt16 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertex2hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertex2hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertex3hNV", ExactSpelling = true)]
			internal extern static void glVertex3hNV(UInt16 x, UInt16 y, UInt16 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertex3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertex3hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertex4hNV", ExactSpelling = true)]
			internal extern static void glVertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertex4hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertex4hvNV(UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1dNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib1dNV(UInt32 index, double x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib1dvNV(UInt32 index, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1fNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib1fNV(UInt32 index, float x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib1fvNV(UInt32 index, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1hNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib1hNV(UInt32 index, UInt16 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib1hvNV(UInt32 index, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1sNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib1sNV(UInt32 index, Int16 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib1svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib1svNV(UInt32 index, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2dNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib2dNV(UInt32 index, double x, double y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib2dvNV(UInt32 index, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2fNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib2fNV(UInt32 index, float x, float y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib2fvNV(UInt32 index, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2hNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib2hNV(UInt32 index, UInt16 x, UInt16 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib2hvNV(UInt32 index, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2sNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib2sNV(UInt32 index, Int16 x, Int16 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib2svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib2svNV(UInt32 index, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3dNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib3dNV(UInt32 index, double x, double y, double z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib3dvNV(UInt32 index, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3fNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib3fNV(UInt32 index, float x, float y, float z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib3fvNV(UInt32 index, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3hNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib3hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib3hvNV(UInt32 index, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3sNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib3svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib3svNV(UInt32 index, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4dNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib4dNV(UInt32 index, double x, double y, double z, double w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib4dvNV(UInt32 index, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4fNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib4fNV(UInt32 index, float x, float y, float z, float w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib4fvNV(UInt32 index, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4hNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib4hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib4hvNV(UInt32 index, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4sNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib4svNV(UInt32 index, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4ubNV", ExactSpelling = true)]
			internal extern static void glVertexAttrib4ubNV(UInt32 index, byte x, byte y, byte z, byte w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttrib4ubvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttrib4ubvNV(UInt32 index, byte* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribFormatNV", ExactSpelling = true)]
			internal extern static void glVertexAttribFormatNV(UInt32 index, int size, int type, bool normalized, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribIFormatNV", ExactSpelling = true)]
			internal extern static void glVertexAttribIFormatNV(UInt32 index, int size, int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL1i64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL1i64NV(UInt32 index, Int64 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL1i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL1i64vNV(UInt32 index, Int64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL1ui64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL1ui64NV(UInt32 index, UInt64 x);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL1ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL1ui64vNV(UInt32 index, UInt64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL2i64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL2i64NV(UInt32 index, Int64 x, Int64 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL2i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL2i64vNV(UInt32 index, Int64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL2ui64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL2ui64NV(UInt32 index, UInt64 x, UInt64 y);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL2ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL2ui64vNV(UInt32 index, UInt64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL3i64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL3i64NV(UInt32 index, Int64 x, Int64 y, Int64 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL3i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL3i64vNV(UInt32 index, Int64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL3ui64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL3ui64NV(UInt32 index, UInt64 x, UInt64 y, UInt64 z);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL3ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL3ui64vNV(UInt32 index, UInt64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL4i64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL4i64NV(UInt32 index, Int64 x, Int64 y, Int64 z, Int64 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL4i64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL4i64vNV(UInt32 index, Int64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL4ui64NV", ExactSpelling = true)]
			internal extern static void glVertexAttribL4ui64NV(UInt32 index, UInt64 x, UInt64 y, UInt64 z, UInt64 w);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribL4ui64vNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribL4ui64vNV(UInt32 index, UInt64* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribLFormatNV", ExactSpelling = true)]
			internal extern static void glVertexAttribLFormatNV(UInt32 index, int size, int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribPointerNV", ExactSpelling = true)]
			internal extern static void glVertexAttribPointerNV(UInt32 index, int fsize, int type, Int32 stride, IntPtr pointer);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs1dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs1dvNV(UInt32 index, Int32 count, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs1fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs1fvNV(UInt32 index, Int32 count, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs1hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs1hvNV(UInt32 index, Int32 n, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs1svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs1svNV(UInt32 index, Int32 count, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs2dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs2dvNV(UInt32 index, Int32 count, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs2fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs2fvNV(UInt32 index, Int32 count, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs2hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs2hvNV(UInt32 index, Int32 n, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs2svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs2svNV(UInt32 index, Int32 count, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs3dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs3dvNV(UInt32 index, Int32 count, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs3fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs3fvNV(UInt32 index, Int32 count, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs3hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs3hvNV(UInt32 index, Int32 n, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs3svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs3svNV(UInt32 index, Int32 count, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs4dvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs4dvNV(UInt32 index, Int32 count, double* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs4fvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs4fvNV(UInt32 index, Int32 count, float* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs4hvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs4hvNV(UInt32 index, Int32 n, UInt16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs4svNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs4svNV(UInt32 index, Int32 count, Int16* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexAttribs4ubvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexAttribs4ubvNV(UInt32 index, Int32 count, byte* v);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexFormatNV", ExactSpelling = true)]
			internal extern static void glVertexFormatNV(int size, int type, Int32 stride);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexWeighthNV", ExactSpelling = true)]
			internal extern static void glVertexWeighthNV(UInt16 weight);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVertexWeighthvNV", ExactSpelling = true)]
			internal extern static unsafe void glVertexWeighthvNV(UInt16* weight);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVideoCaptureNV", ExactSpelling = true)]
			internal extern static unsafe int glVideoCaptureNV(UInt32 video_capture_slot, [Out]UInt32 sequence_num, [Out]UInt64 capture_time);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVideoCaptureStreamParameterdvNV", ExactSpelling = true)]
			internal extern static unsafe void glVideoCaptureStreamParameterdvNV(UInt32 video_capture_slot, UInt32 stream, int pname, double* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVideoCaptureStreamParameterfvNV", ExactSpelling = true)]
			internal extern static unsafe void glVideoCaptureStreamParameterfvNV(UInt32 video_capture_slot, UInt32 stream, int pname, float* @params);

			[System.Security.SuppressUnmanagedCodeSecurity()]
			[System.Runtime.InteropServices.DllImport(Library, EntryPoint = "glVideoCaptureStreamParameterivNV", ExactSpelling = true)]
			internal extern static unsafe void glVideoCaptureStreamParameterivNV(UInt32 video_capture_slot, UInt32 stream, int pname, int* @params);

		}

	}
}
